Tag: null

如何检查结构是否已实例化?

我有一个结构(为了这个问题的目的)几乎模仿内置的Point类型。 我需要在使用它之前检查它是否已被实例化。 当它是Point ,我可以这样做: if (this.p == null) 但是现在会产生以下错误: 运算符’==’不能应用于’ProportionPoint’和”类型的操作数 如何将我的结构与null进行比较? 还有另一种检查实例化的方法吗?

C#null coalescing运算符等效于c ++

C#null合并运算符是否有C ++等价物? 我在代码中进行了太多的空检查。 所以正在寻找一种减少空代码量的方法。

linq .where子句的null引用exception

我试图从一个可以为null的对象数组(数组)中获取属性,并且我总是得到一个空引用exception。 如果它为null或返回空字符串,我怎么能告诉LINQ不处理它? foreach (Candidate c in candidates) { results.Add(new Person { firstName = c.firstname, //ok lastName = c.Name, //ok // contactItems is an array of ContactItem // so it can be null that’s why I get null exception // when it’s actually null phone = c.address.contactItems.Where( ci => ci.contactType == ContactType.PHONE).First().contactText } ); } 我也尝试过不要取消null。 […]

空条件运算符和!=

通过在C#中引入Null-Conditional Operators ,进行以下评估, if (instance != null && instance.Val != 0) 如果我这样改写, if (instance?.Val != 0) 如果instance是null引用,它将被计算为true ; 它表现得像 if (instance == null || instance.Val != 0) 那么使用这种新语法重写评估的正确方法是什么? 编辑: instance是从JSON反序列化的大对象的字段。 有很多这样的代码,首先检查字段是否在JSON中,如果是,检查Val属性是否不等于常量,只有两个条件都为真,做一些操作。 代码本身可以被重构,以使逻辑流程更加“有意义”,正如彼得在他的评论中指出的那样,尽管在这个问题中我对如何使用带有null-conditional operators感兴趣!= 。

怎么可能这个== null?

编辑 :这不是这个问题的重复,因为这是一个使用Delegate.CreateDelegate的实际例子,另一个是关于IL的理论讨论。 除了单词this和null之外,没有什么可以互相做。 相对于这个问题 …… 我遇到一个在null的实例上调用事件处理程序的情况。 奇怪的。 看图像: 我不明白发生了什么。 如何在null实例上调用实例方法???

检查列是否返回空值的最佳方法(从数据库到.net应用程序)

我有一个带有DateTime列的表,该列可以具有NULL值 现在我使用ODBC连接连接到数据库,并将值传入.net / c#中的DataTable。 我可以通过去检查它是否为NULL if(String.IsNullOrEmpty(table.rows[0][0].ToString()) { //Whatever I want to do } String.IsNullOrEmpty是检查空值的正确方法。

ASP.NET + C#HttpContext.Current.Session为null(Inside WebService)

这就是我发起会议的方式 protected void Session_Start(object sender, EventArgs e) { HttpContext.Current.Session[“CustomSessionId”] = Guid.NewGuid(); } 在我的类库中的解决方案中,我正在访问它并获得nullexception: string sess = HttpContext.Current.Session[“CustomSessionId”] ; 这是我在web.config和app.config中的配置(在我的库中) (app.config)中

在检查null时,generics函数是否隐式地将值类型转换为对象?

例如,以下代码演示了我的思路: class Program { static void Main(string[] args) { int i = 0; IsNull(i); // Works fine string s = null; IsNull(s); // Blows up } static void IsNull(T obj) { if (obj == null) throw new NullReferenceException(); } } 还有以下代码: int i = 0; bool b = i == null; // Always false 是否存在隐式对象强制转换? […]

如何从Dapper查询而不是默认(T)返回null?

我正在使用Dapper通过存储过程进行一些只读数据库调用。 我有一个查询将返回1行或没有。 我正在使用这样的Dapper: using (var conn = new SqlConnection(ConnectionString)) { conn.Open(); return conn.Query(“API.GetCaseOfficer”, new { Reference = reference }, commandType: CommandType.StoredProcedure).FirstOrDefault(); } 返回的CaseOfficer对象如下所示: public class CaseOfficer { public string Title { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string Email { get; set; } […]

将’var’初始化为null

以下变量初始化之间的运行时性能是否有任何差异? var x = null as object; var x = (object)null; object x = null;