如何从.NET框架C#中的文本框中删除双逗号?

c#

我想制作用户可以输入小数的文本框,例如“1、2、3、4”。然后我使用

array = Array.ConvertAll(str.Split(','), int.Parse);

当用户输入例如“1,,,,2,,3,4”时,就会出现异常。当字符串不可变时如何删除逗号?

回答

您不能从现有字符串中删除逗号 - 尽管您可以在拆分之前创建一个不同的字符串。这通常是您对字符串处理所做的 - 创建整个字符串序列,在此过程中执行替换、修剪等。

一个更简单的解决方案可能是使用StringSplitOptions.RemoveEmptyEntries

string[] parts = str.Split(',', StringSplitOptions.RemoveEmptyEntries);
array = Array.ConvertAll(parts, int.Parse);

(请注意,String.Split(char, StringSplitOptions)重载在桌面框架中不可用;您需要调用String.Split(char[], StringSplitOptions)- 只需在调用代码中更改','new[] { ',' }。)

您也可以包括在内StringSplitOptions.TrimEntries,这样“1, 2 , 3 ,4”将被等同于“1,2,3,4”处理。

这是假设您只想处理用户添加比预期更多的逗号。例如,如果用户输入“1,2,xyz”,这将无济于事。


以上是如何从.NET框架C#中的文本框中删除双逗号?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>