C#7.0新语法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#7.0新语法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2397字,纯文字阅读大概需要4分钟。
内容图文
![C#7.0新语法](/upload/InfoBanner/zyjiaocheng/616/35b9ab86851645beac9644b24517cdd5.jpg)
1、out输出参数
之前使用out参数需要提前定义变量
//必须先定义i
int i = 0;
private static void DoNothing(out int i)
{
i= 1;
}
更新后
//不必先定义result
static void Main(string[] args)
{
int.TryParse("a", out int reult);
Console.WriteLine(reult);
}
2、元组touple
元组功能在 C# 7.0 及更高版本中可用,它提供了简洁的语法,用于将多个数据元素分组成一个轻型数据结构。
(double, int) t1 = (4.5, 3);
Console.WriteLine($"Tuple with elements {t1.Item1} and {t1.Item2}.");
// Output:
// Tuple with elements 4.5 and 3.
(double Sum, int Count) t2 = (4.5, 3);
Console.WriteLine($"Sum of {t2.Count} elements is {t2.Sum}.");
// Output:
// Sum of 3 elements is 4.5.
var alphabetStart = (Alpha: "a", Beta: "b");//还可以这样声明
元组是可以改变的,类似于类的属性
(string Alpha, string Beta) namedLetters = ("a", "b");
namedLetters.Alpha = "aa";
namedLetters.Beta = "bb";
Console.WriteLine($"{namedLetters.Alpha}, {namedLetters.Beta}");
//output:
//aa,bb
同时方法返回值可以返回元组
static void Main(string[] args)
{
(int, int) a = Range();
Console.Read();
}
static (int, int) Range()
{
return (1, 2);
}
3、弃元
有如下函数,返回值为两个int和两个string类型的元组,但是在实际运行过程中,并不需要元组中所有的元素,仅接受其中的某项元素,称之为弃元。
static (int, int,string,string) Range()
{
return (1, 2,"a","b");
}
static void Main(string[] args)
{
var (_, r1, _, r2) = Range();//仅仅接受第1项与第三项
Console.Read();
}
4、模式
static void Main(string[] args)
{
int input = 123;
int sum = 234;
if (input is int count)//如果input是int类型,则count=input(count之前未定义)
sum = count;
Console.WriteLine();
Console.Read();
}
另外,模式还可以在Switch中使用
private void Switch(string text)
{
int k = 100;
switch (text)
{
case "aaa" when k > 10: // text="aaa"且k>10才会输出aaa
Console.WriteLine("aaa");
break;
case "bbb" when text.Length < 10: //text="bbbb"且text的长度<10才会输出bbb
Console.WriteLine("bbb");
break;
case string s when s.Length > 7://模式 定义变量s,s就是text的值
Console.WriteLine(s);
break;
}
5、本地函数
在方法的内部定义一个方法进行调用
public static string LocalFunction(string name)
{
return ZhxiToString(name);
string ZhxiToString(string name)
{
return name;
}
}
6、默认文本表达式
默认文本表达式是针对默认值表达式的一项增强功能。 这些表达式将变量初始化为默认值。 过去会这么编写:
Func<string, bool> whereClause = default(Func<string, bool>);
现在可以直接=default
Func<string, bool> whereClause1 = default;
string str = default;//这样也是支持的
int i = default;
内容总结
以上是互联网集市为您收集整理的C#7.0新语法全部内容,希望文章能够帮你解决C#7.0新语法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。