草庐IT

C#6 : nameof() current property in getter/setter

有没有办法在getter/setter中获取当前属性的名称?像这样:publicstringMyProperty{get{returnbase.Get(nameof(ThisProperty));}set{base.Set(nameof(ThisProperty),value);}}nameof(ThisProperty)应该解析为“MyProperty”。 最佳答案 nameof无法做到这一点,但有更好的方法(自C#5起可用)。您可以使propertyName参数可选,并将CallerMemberName属性应用于它:protec

c# - 没有什么等于 String.Empty,null 不等于 String.Empty,我在这里缺少什么?

在混合代码项目(VB和C#)中,我们正在调试一些旧的VisualBasic代码,如下所示:IfRequest.Params("xxx")""Then'dosomething我认为这是一个错误,因为Request.Params可能是null,在这种情况下,语句会变成false,这不是我的想法。我是这么想的。我刚刚再次发现VB的Nothing和C#的null不是一回事,Nothing也不一样作为null。事实上:if(String.Empty==null)//inC#thisisalwaysfalse(correct)IfString.Empty=NothingThen'inVBthisi

c# - 在 C# 中构建智能字符串修剪功能

我正在尝试构建一个字符串扩展方法来将字符串修剪到一定长度但不打断一个单词。我想检查一下框架中是否内置了任何东西或比我的方法更聪明的方法。到目前为止,这是我的(没有经过彻底测试):publicstaticstringSmartTrim(thisstrings,intlength){StringBuilderresult=newStringBuilder();if(length>=0){if(s.IndexOf('')>0){string[]words=s.Split('');intindex=0;while(index0){result.Remove(result.Length-1,1)

c# - 字符串变量可以设置多少个字符?

我有一个字符串类型的变量。例如字符串测试;。我可以设置多少字符进行测试?谢谢。 最佳答案 所有引用类型(如字符串)实例的最大大小是有限的由CLR增加到2GB。由于.NET中的一个字符需要2个字节,这意味着一个字符串最多可以容纳大约10亿个字符。请注意,.NET字符串并不是真正为这些大小设计的。它们是不可变的,所有字符串操作都会创建新的字符串实例。当您拥有这么大的数据时,您需要围绕您想要使用它做什么来定制设计您的算法和内存中(对于真正庞大的数据可能在磁盘上)结构。 关于c#-字符串变量可以

c# - 在 string.Split() 之后有更好的 TRIM() 方法吗?

注意到一些代码,例如string[]ary=parms.Split(",".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);for(inti=0;i工作正常,但想知道是否有更好的方法一步完成 最佳答案 string[]trimmedStrings=parms.Split(',').Select(s=>s.Trim()).Where(s=>s!=String.Empty).ToArray();顺便说一句,考虑使用像List这样的通用类型列表而不是遗留数组IListtrimmed

c# - 解析 json 对象

我无法理解如何使用Visual.NET将JSON字符串解析为C#对象。任务很简单,但我还是迷路了......我得到这个字符串:{"single_token":"842269070","username":"example123","version":1.1}这是我尝试sanitizer的代码:namespace_SampleProject{publicpartialclassDownloader:Form{publicDownloader(stringurl,boolshowTags=false){InitializeComponent();WebClientclient=newWeb

c# - 为什么作为引用类型的字符串可以是非空常量,而其他引用类型常量必须为空?

据我所知,string是一个引用类型。const可以与reference类型一起使用,只有当它们被分配为null时。我的问题是为什么作为引用类型的string可以赋值为文字字符串(或非空)? 最佳答案 取自const文档:Aconstantexpressionisanexpressionthatcanbefullyevaluatedatcompiletime.Therefore,theonlypossiblevaluesforconstantsofreferencetypesarestringandanullreference.换句

c# - 使用凭据连接 ftp 服务器

我正在编写一个使用带有凭据的ftp服务器的程序。我正在尝试从服务器检索目录列表,但是当我到达该行时:stringline=reader.ReadLine();我得到的字符串只包含:“无法打开\"host:/lib1\"。”如果我尝试获取另一行,则会抛出下一个异常:远程服务器返回错误:(550)文件不可用(例如,找不到文件,无法访问)。我确定(使用另一个ftp应用程序)ftp服务器上存在“lib1”目录并且我的凭据(用户名和密码)是正确的。这是我的代码:publicclassFTPClient{publicstringUserName{get;set;}publicstringPassw

c# - 如何从 C# 中的文件路径列表中提取公共(public)文件路径

从C#中的文件路径字符串列表中提取公共(public)文件路径的最佳方法是什么?例如:我在List变量中列出了5个文件路径,如下所示c:\abc\pqr\tmp\sample\b.txtc:\abc\pqr\tmp\new2\c1.txtc:\abc\pqr\tmp\b2.txtc:\abc\pqr\tmp\b3.txtc:\abc\pqr\tmp\tmp2\b2.txt输出应该是c:\abc\pqr\tmp 最佳答案 因为一切都最好用LINQ*解决:*并非所有问题都可以用LINQ解决。usingSystem.Collections

c# - 试图加载格式不正确的程序。 Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader

我正在编写一个从TFS获取错误的应用程序。当我在安装了运行Windows8的visualstudio的机器上运行这个程序时,它工作正常。当我在我的一台运行Server2008R2和Windows7的虚拟机上运行这个程序并安装了VisualStudioAgent时,它会抛出以下异常Erroroccured:Couldnotloadfileorassembly'Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader,Version=11.0.0.0,Culture=neutral,PublicKeyToken=b03