c# 8.0什么时候出?

时间:2021-01-07 16:02:40
感觉C#8.0 预告的特性:默认接口实现、扩展一切   这俩特性如果都实现,
简直要爆炸。。。
看来当时放弃JAVA转战C#是个明智的选择。

18 个解决方案

#1


你走火入魔了。
c#已经够笨重了,现在的新特性,都是苟延残喘,为了对抗新语言。但已经这么成熟的c#,任何新特性意义都不会太大,因为其产生的对开发效率的边际效益越来越小。同理,java也一样。

#2


对成熟的编程语言来说,能提升市场地位的因素有很多,比如运行环境、配套代码库、部署成本和人员成本等等,但是不包括语言特性。

#3


这样的话,对于一个新手来说,学习java还是c#呢?虽然二者有许多相通之处。

#4


我觉得不断进化是好事

#5


默认接口实现
倒是挺期待的,java已经实现了。
而且对于版本的迭代,倒是有些帮助。

#6


引用 3 楼 csc1206 的回复:
这样的话,对于一个新手来说,学习java还是c#呢?虽然二者有许多相通之处。

JAVA很笨重,但目前来说用的人比较多。C#现在跨平台+开源,外加各种生态系统 组件全部开源,更好用了。所以C#

#7


C# 7.0的某些特性我都没用呢,哎

#8


net在硅谷不受欢迎,美国的朋友说的

#9


默默地看着你们聊天,懂得真多,可望而不可即啊!

#10


Java工资高啊....你放弃了 多可惜.. 

#11


引用 10楼by_封爱 的回复:
Java工资高啊....你放弃了 多可惜.. 
表示net工资甩java几条街,广州,wpf,求大神

#12


C# 8传说会加上模式匹配、元组。
比如
int x = 1; int y = 2;
var re = exchange(x, y);
x = re.Item1;
y = re.Item2;

Tuple<int, int> exchange(int x, int y)
{
return new Tuple<x, y>(y, x);
}
在C# 8.0可以写成
int x =1; int y = 2;
x, y = exchange(x, y);

#13


不排除
Tuple<int, int> exchange(int x, int y)
{
return new Tuple<x, y>(y, x);
}
也可以写成
(int, int) exchange(int x, int y)
{
return (y, x);
}

模式匹配是F#里的,有了它,就可以直接写类型分片了。

#14


引用 13 楼 caozhy 的回复:
不排除
Tuple<int, int> exchange(int x, int y)
{
return new Tuple<x, y>(y, x);
}
也可以写成
(int, int) exchange(int x, int y)
{
return (y, x);
}

模式匹配是F#里的,有了它,就可以直接写类型分片了。

元组在C# 7.0已经实现了。
7.0还有的就是
 

string str = "123";
if(int.TryParse(str,out int number))
{
     Console.WriteLine(number);
}

#15


当然,最实用的我觉得还是null传播 
还是C# 6.0的 

xxType xx = new xxType();
xx?.xxMethod();
object obj = xx?[index];
object property = xx?.xxProperty;

#16


该回复于2018-03-17 00:00:32被版主删除

#17


引用 14 楼 pengqian098 的回复:
Quote: 引用 13 楼 caozhy 的回复:

不排除
Tuple<int, int> exchange(int x, int y)
{
return new Tuple<x, y>(y, x);
}
也可以写成
(int, int) exchange(int x, int y)
{
return (y, x);
}

模式匹配是F#里的,有了它,就可以直接写类型分片了。

元组在C# 7.0已经实现了。
7.0还有的就是
 

string str = "123";
if(int.TryParse(str,out int number))
{
     Console.WriteLine(number);
}


好像是有了。有一年多没用C#,有点落伍了。不过模式匹配还没有。在一个内部的文档中微软是打算搞的,但是后来不知道为何没了。

#18


Java还是更有前途吧。

#1


你走火入魔了。
c#已经够笨重了,现在的新特性,都是苟延残喘,为了对抗新语言。但已经这么成熟的c#,任何新特性意义都不会太大,因为其产生的对开发效率的边际效益越来越小。同理,java也一样。

#2


对成熟的编程语言来说,能提升市场地位的因素有很多,比如运行环境、配套代码库、部署成本和人员成本等等,但是不包括语言特性。

#3


这样的话,对于一个新手来说,学习java还是c#呢?虽然二者有许多相通之处。

#4


我觉得不断进化是好事

#5


默认接口实现
倒是挺期待的,java已经实现了。
而且对于版本的迭代,倒是有些帮助。

#6


引用 3 楼 csc1206 的回复:
这样的话,对于一个新手来说,学习java还是c#呢?虽然二者有许多相通之处。

JAVA很笨重,但目前来说用的人比较多。C#现在跨平台+开源,外加各种生态系统 组件全部开源,更好用了。所以C#

#7


C# 7.0的某些特性我都没用呢,哎

#8


net在硅谷不受欢迎,美国的朋友说的

#9


默默地看着你们聊天,懂得真多,可望而不可即啊!

#10


Java工资高啊....你放弃了 多可惜.. 

#11


引用 10楼by_封爱 的回复:
Java工资高啊....你放弃了 多可惜.. 
表示net工资甩java几条街,广州,wpf,求大神

#12


C# 8传说会加上模式匹配、元组。
比如
int x = 1; int y = 2;
var re = exchange(x, y);
x = re.Item1;
y = re.Item2;

Tuple<int, int> exchange(int x, int y)
{
return new Tuple<x, y>(y, x);
}
在C# 8.0可以写成
int x =1; int y = 2;
x, y = exchange(x, y);

#13


不排除
Tuple<int, int> exchange(int x, int y)
{
return new Tuple<x, y>(y, x);
}
也可以写成
(int, int) exchange(int x, int y)
{
return (y, x);
}

模式匹配是F#里的,有了它,就可以直接写类型分片了。

#14


引用 13 楼 caozhy 的回复:
不排除
Tuple<int, int> exchange(int x, int y)
{
return new Tuple<x, y>(y, x);
}
也可以写成
(int, int) exchange(int x, int y)
{
return (y, x);
}

模式匹配是F#里的,有了它,就可以直接写类型分片了。

元组在C# 7.0已经实现了。
7.0还有的就是
 

string str = "123";
if(int.TryParse(str,out int number))
{
     Console.WriteLine(number);
}

#15


当然,最实用的我觉得还是null传播 
还是C# 6.0的 

xxType xx = new xxType();
xx?.xxMethod();
object obj = xx?[index];
object property = xx?.xxProperty;

#16


该回复于2018-03-17 00:00:32被版主删除

#17


引用 14 楼 pengqian098 的回复:
Quote: 引用 13 楼 caozhy 的回复:

不排除
Tuple<int, int> exchange(int x, int y)
{
return new Tuple<x, y>(y, x);
}
也可以写成
(int, int) exchange(int x, int y)
{
return (y, x);
}

模式匹配是F#里的,有了它,就可以直接写类型分片了。

元组在C# 7.0已经实现了。
7.0还有的就是
 

string str = "123";
if(int.TryParse(str,out int number))
{
     Console.WriteLine(number);
}


好像是有了。有一年多没用C#,有点落伍了。不过模式匹配还没有。在一个内部的文档中微软是打算搞的,但是后来不知道为何没了。

#18


Java还是更有前途吧。