gpt4 book ai didi

c# - 如何获取字符串的特定部分并将它们分配给 C# 中的变量?

转载 作者:太空宇宙 更新时间:2023-11-03 20:52:05 27 4
gpt4 key购买 nike

将这样的字符串传递给后面的代码:

0,-1|1,-1|2,-1|3,-1|4,-1|5,-1|6,-1|7,-1|8,-1

我需要能够为每个“|”的“,”符号前后分配值字符串中存在的符号,分为分隔的变量,“line”表示第一个值(在“,”之前),“group”表示下一个值(在“,”之后)。

现在我正在尝试这个,但是我在从 string[] 转换为 string 时遇到了一些问题。

public static string GuardarGrupos(string parametro){


var data = parametro.Split(Convert.ToChar("|"));

var datos = "";
string[] linea;
var grupo = "";

//Iterate through each of the letters
foreach (var check in data)
{

datos = data[0];
linea = data[0].Split(Convert.ToChar(","));

}

return linea;
}

知道我怎样才能做到这一点吗?

最佳答案

制作 classstruct坚持你的值(value)观:

public class DataObject
{
public string X {get; set;}

public string Y {get; set;}
}

返回 List<T>类型 DataObject

public static List<DataObject> GuardarGrupos(string parametro){
//List to return
List<DataObject> returnList = new List<DataObject>();

//Split the string on pipe to get each set of values
var data = parametro.Split('|'); //No need to do a convert.char(),
//String.Split has an overload that takes a character, use single quotes for character

//Iterate through each of the letters
foreach (var check in data)
{
//Split on comma to get the individual values
string[] values = check.Split(',');
DataObject do = new DataObject()
{
X = values[0];
Y = values[1];
};
returnList.Add(do);
}

return returnList;
}

一旦你有了 List<DataObject> ,您可以使用 linq 形成行和组和 string.Join :

List<DataObject> myList = GuardarGrupos("0,-1|1,-1|2,-1|3,-1|4,-1|5,-1|6,-1|7,-1|8,-1");
string line = string.Join(",", myList.Select(x => x.X);
string group = string.Join(",", myList.Select(y => y.Y);

关于c# - 如何获取字符串的特定部分并将它们分配给 C# 中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54241435/

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