草庐IT

defaulted-functions

全部标签

c# - 更好的日期时间?或者对 NULL 使用 default(DateTime)?

我正在设计一个具有私有(private)消息传递系统的C#/NHibernate网站。我希望管理员检查用户是否以及何时阅读了一条消息,并一起突出显示用户尚未阅读的那些消息。为了实现这两个目标,我找到了两个选择:选项1classMessage{DateTime?Read;}其中Read==null表示还没有读过选项2classMessage{DateTimeRead;}其中Read==default(DateTime)(January1st1A.D.,0:00:00)表示尚未读取。在大学里,我被教导使用NULL值来处理所有特殊情况,并且还使用可空类型似乎不错的选择,因为通过检查它们是否为

c# - 检查 : null vs default()?

我想检查引用类型是否为空。我看到两个选项(_settings是引用类型FooType):if(_settings==default(FooType)){...}和if(_settings==null){...}这两者的表现有何不同? 最佳答案 没有区别。任何引用类型的默认值为null。default关键字的MSDNC#引用页:https://msdn.microsoft.com/en-us/library/25tdedf5.aspx. 关于c#-检查:nullvsdefault()?,我

c# - Azure Function,EF Core,无法加载 ComponentModel.Annotations 4.2.0.0

我已经创建了几个.NetStandard2.0库,通过控制台应用程序测试了执行情况,还有一些测试-一切都很好。转到azure函数,并得到以下运行时错误:然后我尝试将该特定版本下载到API函数项目中:我使用的是VisualStudio版本15.7.0预览版5.0。我已将AzureFunctions更新到4.7...因为控制台和测试项目是-并且这些工作正常。在这方面待了太多小时..所以我希望这个决议不是什么疯狂的事情。EfCore2.1.0-rc1-final也在其中。对Required、MaxLength、NotMapped使用数据注释。图形错误说:Microsoft.EntityFra

c# - 神经网络 : why does my function return different outputs to the in-built one?

我正在使用NeuronDotNet用于C#中的神经网络。为了测试网络(以及训练网络),我编写了自己的函数来获取误差平方和。然而,当我通过在训练数据上运行它来测试这个函数并将它与反向传播网络的MeanSquaredError进行比较时,结果是不同的。我发现出现不同错误的原因是当我在学习阶段运行时网络返回不同的输出。我使用以下方法为每个TrainingSample运行它:double[]output=xorNetwork.Run(sample.InputVector);在学习阶段使用:xorNetwork.Learn(trainingSet,cycles);...使用委托(delegate

c# - default(T) 使用空集合而不是 null

我想要一个通用方法,它为传递的类型返回默认值,但是对于集合类型,我想要得到空集合而不是null,例如:GetDefault();//returnsemptyarrayofint'sGetDefault();//returns0GetDefault();//returnsnullGetDefault>();//returnsemptylistofobjects我开始写的方法如下:publicstaticTGetDefault(){vartype=typeof(T);if(type.GetInterface("IEnumerable")!=null)){//returnemptycolle

c# - 公约问题: When do you use a Getter/Setter function rather than using a Property

令我印象深刻的是,在尝试操作类中的字段时应该使用C#中的属性。但是当涉及到复杂的计算或数据库时,我们应该使用getter/setter。这是正确的吗?什么时候对属性使用s/getter? 最佳答案 .NET设计指南在Propertiesvs.Methods中提供了这个问题的一些答案。部分。基本上,属性与字段具有相同的语义。你不应该让一个属性抛出异常,属性不应该有副作用,顺序不重要,属性应该相对快速地返回。如果这些事情中的任何一个可能发生,最好使用一种方法。该准则还建议使用返回数组的方法。在决定是使用属性还是方法时,如果我将其视为字段

c# - 如何更改 C# 中的 default(T) 返回值?

我想更改default(T)对某些类的行为方式。因此,我不想为我的引用类型返回null,而是返回一个null对象。有点像kids.Clear();varkid=kids.Where(k=>k.Age有人知道这是否可能吗? 最佳答案 Anyoneknowifthisisatallpossible?根本不可能。但也许您想使用DefaultIfEmpty相反:kids.Clear();varkid=kids.Where(k=>k.Age 关于c#-如何更改C#中的default(T)返回值?,

c# - 如何从 C# 中的 "pure function"获得优化?

如果我有以下函数,它被认为是纯粹的,因为它没有副作用,并且在给定相同输入x的情况下总是会产生相同的结果。publicstaticintAddOne(intx){returnx+1;}据我了解,如果运行时了解功能纯度,它可以优化执行,这样就不必重新计算返回值。有没有办法在C#中实现这种运行时优化?我假设这种优化有一个名称。它叫什么?编辑:显然,我的示例函数不会从这种优化中获得太多好处。该示例是为了表达我心目中的纯度类型,而不是真实世界的示例。 最佳答案 正如其他人指出的那样,如果您想节省重新计算您已经计算过的结果的成本,那么您可以内存

c# - 如何在 C# 中覆盖 default(T)?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowtochangewhatDefault(T)returnsinC#print(default(int)==0)//true同样,如果我有一个自定义对象,它的默认值将为null。print(default(Foo)==null)//true我可以为default(Foo)设置一个自定义值而不是null吗?例如,像这样:publicstaticoverrideFoodefault(){returnnewFoo();}这不会编译。谢谢..

C# 版本的 __FUNCTION__ 宏

有没有人对C#版本的C++__FUNCTION__宏有好的解决方案?编译器似乎不喜欢它。 最佳答案 尝试改用它。System.Reflection.MethodBase.GetCurrentMethod().NameC#没有像C++那样的__LINE__或__FUNCTION__宏,但是有等价物 关于C#版本的__FUNCTION__宏,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question