草庐IT

string.format

全部标签

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# - 如何在 .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# - 如何通过整数索引引用 Dictionary<string, string> 中的项目?

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

c# - .net 中的转换 : Native Utf-8 <-> Managed String

我创建了这两种方法来将nativeutf-8字符串(char*)转换为托管字符串,反之亦然。以下代码完成这项工作:publicIntPtrNativeUtf8FromString(stringmanagedString){byte[]buffer=Encoding.UTF8.GetBytes(managedString);//notnullterminatedArray.Resize(refbuffer,buffer.Length+1);buffer[buffer.Length-1]=0;//terminating0IntPtrnativeUtf8=Marshal.AllocHGlob

c# - 将由返回字符分隔的字符串转换为 List<string> 的最佳方法是什么?

我需要经常将“字符串block”(包含返回字符的字符串,例如来自文件或文本框)转换为List.有什么方法比下面的ConvertBlockToLines方法更优雅?usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;namespaceTestConvert9922{classProgram{staticvoidMain(string[]args){stringtestBlock="lineone"+Environment.NewLine+"linetwo"+Environment.NewLine+"linethree"

c# - 如何将 string[] 组合成字符串,中间有空格

如何将string[]解析为中间有空格的字符串您将如何重构这段代码?internalstringConvertStringArrayToString(string[]array){StringBuilderbuilder=newStringBuilder();builder.Append(array[0]);for(inti=1;i 最佳答案 已经有一个方法了:String.Join("",array)这将在每个元素之间放置一个空格。请注意,如果您的任何元素都是空字符串,您最终会得到彼此相邻的空格,因此您可能需要提前过滤这些元素,如

List<String[]> 的 C# "funny"问题

我的C#应用程序中的List有一些奇怪的问题。这一定是分配错误或者我做错了什么(我是普通的C#开发人员)。让我举一个接近我的台词的例子:ListMyPrimaryList=newList();ListMySecondaryList=newList();String[]array;StringarrayList="one,two,three,four,five";array=arrayList.Split(',');MyPrimaryList.Add(array);MySecondaryList.Add(array);MyPrimaryList[0][0]+="half";所以现在我希望