相关疑难解决方法(0)

C# ??财产中的经营者,它是如何运作的?

我无法理解它是如何工作的.

private Person _user;

private Person User
{
  get
  {
    return _user ?? ( _user = GetUser() );
  }
}
Run Code Online (Sandbox Code Playgroud)

我第一次引用User属性时,_user为null所以它返回(_user = GetUser())????

我错过了什么?

c# operator-keyword

2
推荐指数
1
解决办法
158
查看次数

问号在C#代码中意味着什么?

我见过类似以下不相关的代码:

 Console.Write(myObject?.ToString());
 return isTrue ? "Valid" : "Lie";
 return myObject ?? yourObject;
 int? universalAnswer = 42;
Run Code Online (Sandbox Code Playgroud)

问号的所有用法是相关的还是不同的?他们每个人的意思是什么?

c# operators

2
推荐指数
1
解决办法
6988
查看次数

1
推荐指数
1
解决办法
171
查看次数

这个MVC项目的第一行是什么意思?

可能重复:
C#中两个问号共同意味着什么?

我正在看一个MVC项目,cshtml页面的第一行是:

@if (Model.DatabaseIssue ?? false) {
Run Code Online (Sandbox Code Playgroud)

}

这是什么意思?什么是双?? 为什么用它?

c# asp.net asp.net-mvc

1
推荐指数
1
解决办法
209
查看次数

什么是 ??在我的财产?

可能重复:
C#中两个问号共同意味着什么?

任何人都可以解释这种语法.

protected string CompanyProductSeriesId
{ 
   get 
   { 
       return Request.QueryString["CPGId"] 
              ?? (ViewState["CPSId"] == null 
                  ? "" 
                  : ViewState["CPGId"].ToString()); 
   } 
}
Run Code Online (Sandbox Code Playgroud)

我想要坚持下去?在这个语法中.

c# asp.net

1
推荐指数
1
解决办法
213
查看次数

为什么null-coalescing运算符在这种情况下不起作用?

我正在尝试将记录提取到listarray中,如下所示:

List<Car> lst = new List<Car>();

string str = "select * from Inventory"; 

using(SqlCommand cmd = new SqlCommand(str,this.sqlcon))
{
    SqlDataReader rdr = cmd.ExecuteReader();

    while (rdr.Read())
    {
        lst.Add(new Car 
                    {
                        CarId = (int)rdr["CarId"],
                        Make = (string)(rdr["Make"] ?? ""),
                        Color= (string)(rdr["Color"] ?? ""),
                        PetName = (string)(rdr["PetName"] ?? "")

                    });
    }

    rdr.Close();
}
Run Code Online (Sandbox Code Playgroud)

Make,color和petname可能具有空值,因此我使用了??运算符.我收到以下错误

无法将system.dbnull类型的对象强制转换为'system.string'.

在这种情况下检查null的正确方法是什么?

.net c#

0
推荐指数
1
解决办法
273
查看次数