在c#中将字符串数组分成两个不同的字符串列表
seperate the string array into two different string list in c#
我有一个字符串数组
字符串[]行=File.ReadAllLines(路径);
这些行包含以下数据
"A|3232|test"
"C|5544|test2"
"C|8884|test3"
"A|7777|test0"
"A|4343|test4"
我想根据第一个字母 "A" 和 "C" 来分隔上面的数组。如何将上面的行分开并存储在 bleow 列表字符串中。
List<string> aletterlines=
List<string> CletterLines=
您可以使用 Linq 执行此操作:
var lineGroups = lines.GroupBy(d => d[0]);
List<string> aLetters = lineGroups.SingleOrDefault(d => d.Key == 'A').ToList();
List<string> cLetters = lineGroups.SingleOrDefault(d => d.Key == 'C').ToList();
string[] lines = File.ReadAllLines(path);
List<string> aletterlines = new List<string>();
List<string> CletterLines = new List<string>();
foreach (var item in lines)
{
string[] currentLine = item.Split('|');
if (currentLine[0] == "A")
{
aletterlines.Add(item);
}
else
{
CletterLines.Add(item);
}
}
有很多方法可以实现,您可以按照其他人的建议使用 LINQ 或简单的 foreach 循环:
private void Example()
{
string[] lines = {"A|3232|test",
"C|5544|test2",
"C|8884|test3",
"A|7777|test0",
"A|4343|test4"};
List<string> aletterlines = new List<string>();
List<string> CletterLines = new List<string>();
foreach (string item in lines)
{
if (item.StartsWith("A"))
{
aletterlines.Add(item);
}
else if (item.StartsWith("C"))
{
CletterLines.Add(item);
}
}
}
我有一个字符串数组
字符串[]行=File.ReadAllLines(路径);
这些行包含以下数据
"A|3232|test"
"C|5544|test2"
"C|8884|test3"
"A|7777|test0"
"A|4343|test4"
我想根据第一个字母 "A" 和 "C" 来分隔上面的数组。如何将上面的行分开并存储在 bleow 列表字符串中。
List<string> aletterlines=
List<string> CletterLines=
您可以使用 Linq 执行此操作:
var lineGroups = lines.GroupBy(d => d[0]);
List<string> aLetters = lineGroups.SingleOrDefault(d => d.Key == 'A').ToList();
List<string> cLetters = lineGroups.SingleOrDefault(d => d.Key == 'C').ToList();
string[] lines = File.ReadAllLines(path);
List<string> aletterlines = new List<string>();
List<string> CletterLines = new List<string>();
foreach (var item in lines)
{
string[] currentLine = item.Split('|');
if (currentLine[0] == "A")
{
aletterlines.Add(item);
}
else
{
CletterLines.Add(item);
}
}
有很多方法可以实现,您可以按照其他人的建议使用 LINQ 或简单的 foreach 循环:
private void Example()
{
string[] lines = {"A|3232|test",
"C|5544|test2",
"C|8884|test3",
"A|7777|test0",
"A|4343|test4"};
List<string> aletterlines = new List<string>();
List<string> CletterLines = new List<string>();
foreach (string item in lines)
{
if (item.StartsWith("A"))
{
aletterlines.Add(item);
}
else if (item.StartsWith("C"))
{
CletterLines.Add(item);
}
}
}