C# 将字符串拆分为不同的数组
我正在尝试将字符串拆分为两个不同的数组。基本上,我希望这样工作:C# 将字符串拆分为不同的数组,c#,C#,我正在尝试将字符串拆分为两个不同的数组。基本上,我希望这样工作:StreamReader读到这样一行: List<char> chars = new List<char> (); List<string> names = new List<string>(); List<string> types = new List<string>(); List<string> paths = new List<st
StreamReader
读到这样一行:
List<char> chars = new List<char> ();
List<string> names = new List<string>();
List<string> types = new List<string>();
List<string> paths = new List<string>();
int index = 1;
while (streamReader.Peek() >= 0)
{
char ch = (char)reader.Read();
if (ch == '|')
{
switch(index)
{
case 1: names.Add( new String(chars.ToArray()));
case 2: types.Add( new String(chars.ToArray()));
case 3: paths.Add( new String(chars.ToArray()));
}
index = (index==3? 1: index+1);
chars.Clear ();
continue;
}
chars.Add(ch);
}
名称|类型|路径
并用“|”分隔“名称”、“类型”和“路径”。然后将它们添加到数组(“name”转到数组“name”,“type”到“type”数组,“path”到“path”数组),但我想不出任何方法来实现这一点
我希望这三个数组最好保留在数组列表中。如果您有流读取器,您可能希望这样:
List<char> chars = new List<char> ();
List<string> names = new List<string>();
List<string> types = new List<string>();
List<string> paths = new List<string>();
int index = 1;
while (streamReader.Peek() >= 0)
{
char ch = (char)reader.Read();
if (ch == '|')
{
switch(index)
{
case 1: names.Add( new String(chars.ToArray()));
case 2: types.Add( new String(chars.ToArray()));
case 3: paths.Add( new String(chars.ToArray()));
}
index = (index==3? 1: index+1);
chars.Clear ();
continue;
}
chars.Add(ch);
}
List chars=新列表();
列表名称=新列表();
列表类型=新列表();
列表路径=新列表();
int指数=1;
while(streamReader.Peek()>=0)
{
char ch=(char)reader.Read();
如果(ch='|')
{
开关(索引)
{
案例1:names.Add(新字符串(chars.ToArray());
案例2:types.Add(新字符串(chars.ToArray());
案例3:path.Add(新字符串(chars.ToArray());
}
指数=(指数==3?1:指数+1);
chars.Clear();
持续
}
添加字符(ch);
}
你应该试试这个,希望它能解决你的问题
var yourstring = "name|type|path";
string[] yourarrayname = yourstring.Split('|');
var name = yourarrayname[0];
var type=yourarrayname[1];
var path = yourarrayname[2];
你应该开始了。您真的不应该使用数组数组作为数据结构-请随意找到好的副本,它解释了为每个记录使用类的正确方法。@AlexeiLevenkov我已经找到了它。不幸的是,我在这里发布了解决方案,我会接受答案,但由于投了反对票,这家伙出去了……我如何才能将VAR添加到列表中?