C#7 的一些新语法
作者:互联网
- Out参数
#region 1.Out参数
var str = "2";
///之前的写法
{
int iValue;
//将str转化成int类型,若转化成功,将值赋给iValue,并返回true;若转化失败,返回false。
if (int.TryParse(str, out iValue))
{
WriteLine(iValue);
}
}
//C#7的写法
{
if (int.TryParse(str, out int iValue))
{
WriteLine(iValue);
}
//或者
if (int.TryParse(str, out var vValue))
{
WriteLine(iValue);
}
}
#endregion
- 模式
#region 2.模式 pattern
{
WriteLine("C#7_2.模式 pattern:");
this.PrintStars(null);
this.PrintStars(2);
}
/// <summary>
/// 具有模式的 IS 表达式
/// </summary>
private void PrintStars(Object oValue)
{
if (oValue is null) return;// 常量模式 "null"
if (!(oValue is int iValue)) return;// 类型模式 定义了一个变量 "int i"
WriteLine(iValue);
WriteLine(new string('*', iValue));
}
- Swith
#region 3. Swith
{
WriteLine("C#7_3. Swith新语法:");
this.Swith("wang");
this.Swith("Max");
this.Swith("wangMax");
this.Swith(null);
this.Swith("");
}
#endregion
/// <summary>
/// 可以设定任何类型的 Switch 语句(不只是原始类型)
/// 模式可以用在 case 语句中
/// Case 语句可以有特殊的条件
/// </summary>
private void Swith(string sValue)
{
int iValue = 1;
switch (sValue)
{
case string s when s.Length >= 4:
WriteLine("s");
break;
case "Max" when sValue.Length > 2:
WriteLine(sValue);
break;
default:
WriteLine("default");
break;
case null:
WriteLine("null");
break;
}
}
-
数字分隔符【每隔3位+"_"】
#region 4.数字分隔符【每隔3位+"_"】 long lValue = 100_000_000; WriteLine(lValue); #endregion
-
局部函数
#region 5. 局部函数 { WriteLine("C#7_6. 局部函数:"); Add(3); int Add(int i) { WriteLine(2 + i); return i; } } #endregion
-
元c#教程组
#region 6.元组 { var result = this.LookupName(1); WriteLine(result.Item1); WriteLine(result.Item2); WriteLine(result.Item3); } { var result = this.LookupNameByName(1); WriteLine(result.first); WriteLine(result.middle); WriteLine(result.last); WriteLine(result.Item1); WriteLine(result.Item2); WriteLine(result.Item3); } #endregion
///
/// System.ValueTuple 需要安装这个nuget包
///
///
///
private (string, string, string) LookupName(long id) // tuple return type
{
return (“first”, “middle”, “last”);
}private (string first, string middle, string last) LookupNameByName(long id) // tuple return type
{
return (“first”, “middle”, “last”);
//return (first: “first”, middle: “middle”, last: “last”);
}
作者:wangwangwangMax
出处: http://www.cnblogs.com/wangwangwangMax/
标签:string,C#,iValue,语法,int,result,WriteLine,一些,Swith 来源: https://blog.csdn.net/chinaherolts2008/article/details/113719957