草庐IT

string-concatenation

全部标签

c# - 在 C# 中有什么区别 : string vs String

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:InC#whatisthedifferencebetweenStringandstring在C#中有string和System.String。它们之间有什么区别?一个被认为比另一个更好用。混合使用有没有隐患?如果它们是一样的,那为什么要同时拥有它们呢?为什么不只选择其中之一?

c# - string.Join 需要采用数组而不是 IEnumerable 的原因是什么?

正如标题所说:为什么string.Join需要采用数组而不是IEnumerable?这让我很烦,因为当我需要从LINQ表达式的结果创建一个连接的字符串时,我必须添加一个.ToArray()。我的经验告诉我,我在这里遗漏了一些明显的东西。 最佳答案 升级到.NET4.0并使用overload接受IEnumerable.否则,只能接受这是一个长期悬而未决的问题,直到.NET4.0才得到解决。您也可以通过创建自己的扩展方法来解决这个问题!publicstaticclassStringEnumerableExtensions{publics

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# - 在 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# - List<string> 复杂排序

我有一个List尺码,例如XS、S、M、L、XL、XXL、UK10、UK12等我想要的是强制顺序为上面的顺序,不管列表中项目的顺序如何,我想我需要一个IComparable运算符但不确定。理想情况下,我希望有另一个具有正确顺序的列表,它可以引用它在列表中的“位置”并自行重新排序,如果它不存在,它将默认为A-Z 最佳答案 按照您希望的顺序创建一个尺码数组,然后根据尺码在该数组中的位置对衬衫进行排序:string[]sizes=new[]{"XS","S","M","L","XL","XXL","UK10","UK12"};varshi

c# - 为什么给字符串加null时没有异常?

为什么这个不抛异常不懂,obj为nullobjectobj=null;Console.WriteLine("HelloWorld"+obj); 最佳答案 编译为Console.WriteLine(String.Concat("HelloWorld",obj));String.Concatmethod忽略null参数。是这样定义的:(来自.Net引用源)publicstaticStringConcat(Objectarg0,Objectarg1){if(arg0==null){arg0=String.Empty;}if(arg1==n

c# - 使用插值 vs "+"运算符连接字符串的内存使用情况

我看到了使用内插字符串在可读性方面的好处:stringmyString=$"Hello{person.FirstName}{person.LastName}!"通过这种方式完成的串联:stringmyString="Hello"+person.FirstName+""person.LastName+"!";作者thisvideotutorial声称第一个可以更好地利用内存。怎么会? 最佳答案 作者实际上并没有说一个比另一个更好地利用内存。它在抽象中说,一种方法“充分利用了内存”,这本身并没有什么实际意义。但是不管他们怎么说,这两种方

c# - 如何在 .NET Core 2.1 中使用 String.Create 的示例

有谁知道这个方法是如何使用的?文档有点“轻”!publicstaticstringCreate(intlength,TStatestate,System.Buffers.SpanActionaction);https://learn.microsoft.com/en-us/dotnet/api/system.string.create?view=netcore-2.2 最佳答案 String.Create()method需要三样东西:决赛length的字符串。您必须事先知道这一点,因为该方法需要它安全为Span创建一个内部固定长度缓

c# - 为什么 StringBuilder 比字符串连接慢?

为什么StringBuilder比+连接更慢?StringBuilder旨在避免创建额外的对象,但为什么会降低性能?staticvoidMain(string[]args){intmax=1000000;for(inttimes=0;times编辑:按照建议移出范围变量: 最佳答案 更改以便StringBuilder不会一直实例化,而是.Clear()它:time:1String+:3348msStringBuilder:3151mstime:2String+:3346msStringBuilder:3050ms等请注意,这仍然会测

c# - 如何通过整数索引引用 Dictionary<string, string> 中的项目?

我做了一个字典集合,以便我可以通过它们的字符串标识符快速引用这些项目。但我现在还需要通过索引计数器访问这个集合(foreach在我的真实示例中不起作用)。我必须对下面的集合做什么才能通过整数索引访问它的项目?usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceTestDict92929{classProgram{staticvoidMain(string[]args){Dictionaryevents=newDictionary();events.Add("firs