【c# – CIL – 拳击/拆箱与Nullable】教程文章相关的互联网学习教程文章

c# – ObjectCreationExpressionSyntax.Type的SemanticModel.GetTypeInfo()返回null【代码】

我试图从ObjectCreationExpressionSyntax对象获取类型信息但失败了. 下面是重现问题的示例(请参阅代码中的“ti.Type为null”):using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.MSBuild;namespace RoslynExample {class Program{static void Main(string[] args){string solutionPath = @"..\..\..\RoslynExample.sln";MSBuildWor...

c# – 当Web API中没有发布数据时,避免使用null模型【代码】

这个问题类似于我想要实现的目标: Avoiding null model in ASP.Net Web API when no posted properties match the model 但它没有得到回答. 我有一个采用GET模型的路线:[HttpGet, Route("accounts")]public AccountListResult Post(AccountListRequest loginRequest){return accountService.GetAccounts(loginRequest);}该模型使用动作过滤器中的其他数据填充. 在这种情况下,所有需要知道的是UserId,动作过滤器将基于cookie /头的...

c# – A a = new A()和A a = null之间的差异【代码】

在C#中,A a = new A(); A a = null; A a;这3行如何在内存方面起作用? 我知道第一行会在堆中创建一个内存,但是休息两行呢? 它如何工作,如果, 一个;是一个字段和局部变量.解决方法:>创建A的新实例并将其分配给变量a.>什么都不做.它只是为引用a赋值null.如果未使用a,编译器可能会对其进行优化.>什么也没做.它将恢复为A a =默认值(A);由于默认值(A)为null,因此与2相同.对于方法变量,如果不指定它,它将显示警告或错误.如果不使用,也...

c# – Automapper:在MapFrom中检查null【代码】

使用版本4 在执行地图时如何检查null.我尝试了.Value,但那不是Null:Mapper.CreateMap<Agenda, AgendaViewModel>().ForMember(x => x.DateApproved, y => y.MapFrom(s => DateTime.SpecifyKind(s.DateApproved.Value, DateTimeKind.Utc)));解决方法:或者,您可以在映射之前检查HasValue属性:Mapper.CreateMap<Agenda, AgendaViewModel>().ForMember(x => x.DateApproved,y => y.MapFrom(s => s.DateApproved.HasValue ?DateTime.S...

C#XML序列化强制为null或空值的完整结束标记【代码】

我有课public class Testowa {public string test { get; set; } }当我将其序列化而没有测试价值时,我得到了<test/>但我想得到<test></test>我怎么能这样做?解决方法:扩展XmlWriter 从there, 如果您使用类似于以下代码进行序列化:XmlSerializer s = new XmlSerializer(typeof(Testowa)); using (FileStream fs = new FileStream(File, FileMode.CreateNew)) {XmlWriterSettings settings = new XmlWriterSettings();settings.Enc...

c# – 使用null传播事件的线程安全性【代码】

参见英文答案 > Can I use null conditional operator instead of classic event raising pattern? 1个这两个样本是否相同?可以用Invoke和null传播替换旧式的提升吗? 旧:public event EventHandler<MyEventArgs> MyEvent;protected virtual void OnMyEvent(MyEventArgs args){EventHandler<MyEventArgs> handler = this.MyEvent;if (handler != null)handler(this, args);}新:public event...

c# – 为什么我可以将null赋给Type“struct Nullable”的值,但不能分配给我的struct?【代码】

我知道Nullable Value Types的机制.但是,我对以下内容感兴趣: Nullable Value Types正在使用struct(从https://referencesource.microsoft.com/#mscorlib/system/nullable.cs,ffebe438fd9cbf0e开始)public struct Nullable<T> where T : struct {public Nullable(T value) {/* ... */}public bool HasValue {get;}public T Value {get;} }我可以用这个Nullable<int> i = null;现在,我以同样的方式创建自己的Nullable-Struct:publi...

c# – 将IEnumerable转换为IList返回null【代码】

我用一个返回的代码调用我的仓库IEnumerable<MyEntity>当我尝试实现结果时,它只有在我对结果执行.ToList()时才有效,但如果我尝试了as IList<MyEntity>它给出了null.它们不应该产生相同的结果吗?解决方法:那么你的枚举不是一个实现IList< T>的类型,比如List< T>或类似的.如果实例属于该类型,则将变量强制转换为指定的类型.它没有进行任何转换. ToList()实际上强制创建新的List< T>,因此在那里创建的新实例确实实现IList< T>是合乎逻...

c# – 如果DataSet中的项可能为null,我如何正确地转换它?【代码】

我有一个由存储过程返回的数据集,其中一个项可能为null.我正在尝试将数据集中的每一行转换为强类型对象,但我似乎无法正确转换空值. 我创建了一个模拟我的场景如下:DataSet ds = new DataSet(); ds.Tables.Add(new DataTable()); ds.Tables[0].Columns.Add("Name", typeof(string)); ds.Tables[0].Columns.Add("Amount", typeof(decimal)); ds.Tables[0].Rows.Add("My Name Here", null); //create row with a null itemDataRow da...

在C#2.0中使用Invoke调用时,参数从null转换为DateTime.MinValue【代码】

我的代码有点像这样public class MyObject {private bool IsValidDay(ref DateTime theDate){...} }MethodInfo[] methods = myObjectInstance.GetType().GetMethod("IsValidDay", BindingFlags.Instance | BindingFlags.NonPublic); object[] args = { null }; bool val = (bool)method.Invoke(myObjectInstance, args);但是当调用该方法时,在IsValidDay方法中,theDate是DateTime.MinValue.这看起来非常奇怪 – 我可能期望抛出Null...

为什么c#null可以隐式转换为System.Nullable,但不能自定义Nullable【代码】

参见英文答案 > possible?' rel='nofollow' target='_blank'>How is the boxing/unboxing behavior of Nullable possible? 3个为什么null可以隐式转换为System.Nullable< T>像这样:int? val = null;但是自定义的Nullable< T> (从.net引用源修改)无法赋值null,是否有一些编译魔术?谁能告诉我更多的内部暗示?[Serializable] public struct Nullable<T> where T : struct {private bool hasVa...

C#中Null类型【代码】【图】

1:可空值类型可空值类型是System.Nullable<T>这个struct的类型可空值类型除了可以正确的表示其底层数据类型(也就是T)的范围,还可以表示null1.1:如下,bool值类型可以为True和False,但不能为NullNullable<bool>除了可以为True和False外,还可以为Null1.2:Nullable写起来太麻烦,这里有简便写法,只需要在类型后面加个?即可,如下 2:Null,空,空白string string name = "张三"; //正常字符串,有值非空string na...

c# – 如何在我自己的实用程序类中访问TempData?或者TempData在构造函数中为null【代码】

我在一些观察/动作中使用TempData,但我想把它提取到某个类中.问题是如果我尝试在Controller的构造函数中创建我的类,那么TempDate就是null.更好的是,我想让我的课程可以注入Controller.所以我需要在创建类时访问TempData. 那么如何在一个单独的类中构造这个TempData呢? 这是ASP.NET Core 2.0 Web应用程序.解决方法:只需在需要的地方注入ITempDataDictionaryFactory,即可在任何地方访问临时数据.然后,您可以调用其GetTempData,它返回...

c# – configuration.GetValue列表返回null【代码】

我正在尝试使用GetValue< T>读取appsettings.json文件中的列表.方法:var builder = new ConfigurationBuilder().SetBasePath(System.AppContext.BaseDirectory).AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);IConfigurationRoot configuration = builder.Build(); var rr = configuration.GetValue<IList<ConnectionSettings>>("Connections");public class ConnectionSettings {public string Name ...

c# – null和(type)null之间有什么区别?【代码】

注意:这不是重复的. This question问为什么甚至可以抛出null,我的问题是null和(type)null之间的区别是什么. 在this参考(来自MSDN C#参考),据说这段代码:expression as type 等效于此代码(“除了表达式变量仅计算一次”):expression is type ? (type)expression : (type)null 这让我想知道,空投的重点是什么?这有什么不同于:expression is type ? (type)expression : null 谢谢!解决方法:看看这个示例项目:static void Mai...