gpt4 book ai didi

c# - 更新 string[] 中值的更好方法

转载 作者:太空宇宙 更新时间:2023-11-03 22:01:26 25 4
gpt4 key购买 nike

我正在寻找一种更好的方法来更新我的列表/数组中的值:

我的代码是这样的——

String[] values = baseValue.Split(new []{'+'}); 

因为“值”可以有小数/字符串值 - 我想更新此列表中的项目以删除小数点后的任何值 -

for (int i = 0; i < values.Count(); i++)
{
decimal newvalue;
if (Decimal.TryParse(values[i], out newvalue))
{
values[i] = Decimal.ToInt32(newvalue).ToString();
}
}

是否有使用 Linq 或不使用 Linq 的更好方法来实现上述目标?

最佳答案

您可以使用字符串操作,而不是转换为 decimal 然后转换为 int 最后返回到 string

string[] values = baseValue.Split('+');
for (int i = 0; i < values.Length; i++)
{
int pos = values[i].IndexOf('.');
if (pos >= 0) {
values[i] = values[i].Substring(0, pos);
}
}

当然这里没有舍入。


String.Split 有一个带有一个参数的重载 params char[] separator。由于 params 关键字,您可以指定任意数量的字符,而无需显式创建数组。

string[] result = s.Split('x', 'y', 'z');

使用 values.Length,它是数组类型中内置的属性。 values.Count() 是一种 LINQ 扩展方法,它会枚举所有数组项,因此效率不高。

关于c# - 更新 string[] 中值的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9945717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com