C# 7.1 - default Literals
نویسنده: وحید نصیری
تاریخ: ۱۳۹۶/۰۷/۰۵ ۱۲:۲۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
int a = default(int);
var number = default(int); // 0 var date = default(DateTime); // DateTime.MinValue var obj = default(object); // null
int a = default; // 0 Guid guid = default; // 00000000-0000-0000-0000-000000000000
| C# 7.1 | C# 7.0 | |
int i = default; | int i = default(int); | Local Variable Defaults |
Person Create() => default; | Person Create() => default(Person); | Local function |
Person Create(string name, int age = default) | Person Create(string name, int age = default(int)) | Optional Parameter Default Value |
(string Name, int Age) person = ("User 1", default); | (string Name, int Age) person = ("User 1", default(int)); | Tuple Element Default Value |
Person p = new Person
{
Name = default,
Age = default
}; | Person p = new Person
{
Name = default(string),
Age = default(int)
}; | Object Initializer Default Value |
var people = new[]
{
new Person(),
default,
new Person()
};
var ages = new[] {18, default, 50}; | var people = new[]
{
new Person(),
default(Person),
new Person()
};
var ages = new[] {18, default(int), 50}; | Array Initializer Default Value |
int i = default; Console.WriteLine(i is default); | int i = default(int); Console.WriteLine(i is default(int)); // true | Is Operator |
// Local method returning a tuple (T, T) CreateTwo<T>() => (default, default); | // Local method returning a tuple (T, T) CreateTwo<T>() => (default(T), default(T)); | Generic Defaults |
bool IsAnswerKnown()=> false; int? p = IsAnswerKnown() ? 42 : default; | bool IsAnswerKnown()=> false; int? p = IsAnswerKnown() ? 42 : (int?)null; | Conditional Operator Defaults |
var ages = new[] {18, default, 50}; var ages = new[] { default }; string s = default;
if(s == default)
{
} int a = default; var x = a > 0 ? default : 1.5;