相关疑难解决方法(0)

电话号码规范化:任何预先存在的图书馆?

我有一个使用电话号码作为唯一标识符的系统.出于这个原因,我想使用标准化格式格式化所有电话号码.因为我无法控制我的源数据,所以我需要自己解析这些数字并将它们格式化,然后再将它们添加到我的数据库中.

我即将编写一个可以读取电话号码并输出标准化电话格式的解析器,但在此之前,我想知道是否有人知道我可以用来格式化电话号码的任何预先存在的库.

如果没有预先存在的库,那么在创建可能不明显的此功能时,我应该记住哪些事项?

虽然我的系统目前只处理美国号码,但我打算尝试包括对国际号码的支持,以防万一有可能需要它.

编辑我忘了提到我正在使用C#.NET 2.0.

.net c# normalization phone-number .net-2.0

20
推荐指数
3
解决办法
8969
查看次数

C#版本和.NET Framework版本?

我对C#版本和.NET框架版本感到困惑.换句话说,我想知道与C#版本和.NET框架的关系.例如:.NET Framework 3.0中的C#版本是什么?

c# frameworks

14
推荐指数
1
解决办法
2万
查看次数

什么是实验性功能"索引成员"?

在新的Roslyn预览网站上,它提到了能够尝试潜在的语言功能,并列出了三个这样的功能.

截图

我之前听过的前两个(例如这里),但我无法从代码示例中找出"索引成员"是什么.任何人都可以根据其他来源或代码示例解释这些是什么吗?(它没有价值$x,不是C#5中的有效标识符.)

更新 - 根据Roslyn功能状态页面,此功能已被撤消.

c# roslyn c#-6.0

14
推荐指数
1
解决办法
1126
查看次数

在开始使用c#4.0之前,是否必须学习所有其他版本的c#?

由于我是刚刚完成工程的初学者,而且我对c,c ++有很好的了解...我还想过研究c#,但我发现c#4.0已经发布了......

  • 我应该关心以前的版本吗?
  • 您为初学者快速学习c#的提示有哪些?
  • 从c,c ++迁移到c#时需要考虑哪些因素?

.net c# versions

13
推荐指数
2
解决办法
1197
查看次数

封闭中的Foreach变量.为什么这些片段的结果不同?

任何人都可以解释为什么这个片段:

// Create required tasks
foreach (var messageToSend in messagesToSend)
{
  EmailMessage messageToBeSent = messageToSend;
  Task<bool> processingTask = new Task<bool>(() => SendMessage(messageToBeSent));
  processingTask.Start();
}
Run Code Online (Sandbox Code Playgroud)

与此不同的是:

// Create required tasks
foreach (var messageToSend in messagesToSend)
{
  Task<bool> processingTask = new Task<bool>(() => SendMessage(messageToSend));
  processingTask.Start();
}
Run Code Online (Sandbox Code Playgroud)

在第一个片段中,所有任务都以自己的消息开头,而在第二个片段中,所有任务都以相同的消息开头?

Resharper给出了这样的描述:"在关闭时访问foreach变量.使用不同版本的编译器编译时可能会有不同的行为." 为什么它会有不同的行为?

.net c# multithreading task

8
推荐指数
1
解决办法
6837
查看次数

microsoft.net.compilers包中有哪个版本的编译器?

microsoft.net.compilers包的文档(https://www.nuget.org/packages/Microsoft.Net.Compilers/)说

.Net编译器包.引用此包将导致使用包中包含的特定版本的C#和Visual Basic编译器构建项目,而不是任何系统安装版本.

...这引出了一个问题:包中有哪个版本的编译器?

同一页面说它支持.NET framework 4.5,但这不是编译器版本,是吗?

该软件包有多个版本.我假设包的不同版本可能包含不同版本的编译器.是否有某个表指定每个包版本中的哪个编译器版本?

我想这个软件包包含c#和vb编译器,但我只对c#感兴趣.

.net c#

6
推荐指数
1
解决办法
3832
查看次数

有哪些C#版本如ver 2.0和ver 3.0有什么区别?

可能重复:
C#的正确版本号是什么?
C#2.0,3.0和4.0中的新功能列表

有哪些C#版本如ver 2.0和ver 3.0有什么区别?

请帮我解释一下.有什么确切的区别?

c#

5
推荐指数
1
解决办法
1479
查看次数

将不同版本的 c# 和 .NET Framework 与 dll 一起使用

  • 带有 C# 3.0 和 .NET Framework 3.5 的项目可以使用带有最新版本的 C# 和 .NET Framework 的 dll 吗?
  • 使用 C# 3.0 的项目可以使用最新版本的 C# 但与 .NET Framework 版本相似的 dll 吗?

  • 带有 .NET Framework 3.5 的项目可以使用带有最新版本的 .NET Framework 但类似 C# 版本的 dll 吗?

.net c#

5
推荐指数
1
解决办法
3977
查看次数

在VS2015中定位.Net 4.5但我可以使用C#6功能吗?

我正在VS2015中开展一个针对.Net framework 4.5的项目

在构建设置中,语言版本设置为"默认"

正如我读出,C#6中的.Net 4.6只添加,但我AM允许的(至少,代码编译和运行)使用string interpolation功能,该功能我读过是C#6的特征.

现在我很困惑:我现在正在编译C#6/.Net 4.6或.Net 4.5(我怎么能检查?)

编辑

在评论中我看到C#6语法与.NET框架版本无关.我从这个答案中得到了一个想法(C#的正确版本号是什么?)其中说的是用.NET 4.6和VS2015(2015年7月)发布的"C#6.0".所以我理解C#6(以某种方式)与.NET 4.6相关联

c# c#-6.0 visual-studio-2015

4
推荐指数
1
解决办法
644
查看次数

为什么VS2017允许Visual Studio 2010在linq查询中不允许使用“ is null”?

当我尝试使用Visual Studio 2010构建Visual Studio 2017解决方案(适用)时,它在下面的代码行上给了我一个语法错误。

var x = (from a in list where a.fld is null select a).ToList();
Run Code Online (Sandbox Code Playgroud)

我已经将该行更改为== null现在代码可以在两个版本的Visual Studio上编译,但是我想知道为什么is nullVS2010失败?

c# linq null c#-4.0 c#-7.0

3
推荐指数
1
解决办法
47
查看次数