c#操作符 ??和First,FirstOrDefault,Single,SingleOrDefault
1、操作符??
??
运算符称作 null 合并运算符。如果此运算符的左操作数不为 null,则此运算符将返回左操作数;否则返回右操作数。
class NullCoalesce { static int? GetNullableInt() { return null; } static string GetStringValue() { return null; } static void Main() { int? x = null; // Set y to the value of x if x is NOT null; otherwise, // if x = null, set y to -1. int y = x ?? -1; // Assign i to return value of the method if the method's result // is NOT null; otherwise, if the result is null, set i to the // default value of int. int i = GetNullableInt() ?? default(int); string s = GetStringValue(); // Display the value of s if s is NOT null; otherwise, // display the string "Unspecified". Console.WriteLine(s ?? "Unspecified"); } }
2、First,FirstOrDefault,Single,SingleOrDefault
string[] fruits1 = { "orange" }; string fruit1 = fruits1.SingleOrDefault(); Console.WriteLine(fruit1); /* This code produces the following output: orange */
关于SingleOrDefault详见msdn
https://msdn.microsoft.com/zh-cn/library/bb342451(v=vs.110).aspx