gpt4 book ai didi

c# - 我如何在 C# 中分割数组

转载 作者:行者123 更新时间:2023-12-02 12:04:27 25 4
gpt4 key购买 nike

我是 C# 语言新手,想知道如何从分组为单行的数组中剪切或操作数据

数据是这样的

enter image description here.

使数据显示的命令行

IList<IList<Object>> values = response.Values;

            if (values != null && values.Count > 0)
{
foreach (var row in values)
{
Console.WriteLine(row[0]);
String str = row[0].ToString().Split(Environment.NewLine,row[0]);
}
}

即使将对象转换为字符串,我在此转换中也遇到错误

编辑

我设法让他使用拆分删除我想要的任何内容,我认为这已经是一个开始

                    try
{
String[] str = row[0].ToString().Split(null);
Console.WriteLine(str[0]);
Console.WriteLine($"{row[0]}");
catch (Exception)
{

}

我用了try防止错误

最佳答案

如上所述,您可以使用Split分割字符串的方法。例如,如果字符串值为 "Europe, Asia, Africa" :

string stringToSplit = "Europe, Asia, Africa";
string[] arrayOfString = stringToSplit.Split(',');

Split 的此重载(版本)方法接受一个参数,即用于分割字符串的字符。结果将是 Europe , AsiaAfrica 。然而,AsiaAfrica开头会有一个空格字符 ( ' ' ),因为 stringToSplit 中的这些单词之前有一个空格。因此,另外,您需要修剪 arrayOfString 的元素通过添加

.Select(s => s.Trim()).ToArray()

结果将如下所示:

string stringToSplit = "Europe, Asia, Africa";
string[] arrayOfString = stringToSplit.Split(',').Select(s => s.Trim()).ToArray();

stringToSplit是您要使用 ',' 分割的字符串特点。 Split(',')是使用 ',' 分割字符串的方法字符,该方法的结果是 string 的数组-s。 Select(s => s.Trim())获取该数组的每个元素并修剪它(删除开头和结尾的所有空格),其结果是一个字符串列表。 s只是 element 的别名,您可以将其命名为任何您想要的名称。 ToArray是一种转换方法,在本例中为 Select(s => s.Trim()) 返回的列表,到一个数组。最后将结果存入arrayOfString是一个包含修剪字符串的数组。

考虑到您在示例中发布的结果

IList<IList<Object>> values = response.Values;

if (values != null && values.Count > 0)
{
foreach (var row in values)
{
Console.WriteLine(row[0]);
}
}

values是一个列表的列表。换句话说, values 的每个元素(在示例中名为 row)是一个列表。检查是否values后存在 ( values != null ) 并且如果有元素 ( values.Count > 0 ),则遍历 row 的每个元素 ( values ) 。这些元素是列表( IList<Object> ),您编写每个 row 的第一个元素通过使用row[0] .

定义IList<IList<Object>> valuesrow类型为IList<Object> ,这意味着 row 的每个元素类型为Object 。方法WriteLine有一个重载(版本),它接受 Object 类型的参数就像本例一样。然后,该参数隐式(在后台)转换为类型 string .

从输出来看,毫无疑问那些类型为 Object 的元素实际上是字符串,否则它将写入类型名称,或其他一些无用或不可读的数据。

有两种可能性。

任一列表values包含一个元素(一个对象列表, row )和 row 的第一个元素是一个字符串(它的类型肯定是 string ),其中包含所有由 Environment.NewLine 分隔的名称,或列出values包含多个元素(对象列表, row -s)以及每个 row 的第一个元素是包含单个名称的字符串。

如果您知道您接受一个字符串并需要将其分开,那么就可以了,这将是第一种可能性。在这种情况下你可以尝试

row[0].ToString().Split('\n')

但是,这似乎是另一种情况,其中有多个对象列表,第一个是名称。在这种情况下,您不需要拆分任何内容。

关于c# - 我如何在 C# 中分割数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61568095/

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