组字符串值
Group string values
我有这个代码
var myBuilder = new StringBuilder();
foreach (var item in myList)
{
myBuilder.Append(item.Number).Append(" - ").Append(item.SecondNumber).Append(", ");
}
var text = myBuilder;
并使用它我得到了这个文本
AAA08 - BB08, AAA09 - BB09, AAA09 - BB10,
myList returns 这个:
{ Number = "AAA08", SecondNumber = "BB08" }
{ Number = "AAA09", SecondNumber = "BB09" }
{ Number = "AAA09", SecondNumber = "BB10" }
如何将它连接到字符串以显示:
AAA08 - BB08; AAA09 - BB09, BB10
我可以将 ,
替换为 ;
但不知道如何对这些 Number
进行分组以仅显示一个 SecondNumber
对他的权利
您可以使用 Linq 和 string.Join
var grouped = myList
.GroupBy(x => x.Number)
.Select(g => g.Key + " - " + string.Join(", ", g.Select(x => x.SecondNumber)))
var text = string.Join("; ", grouped);
您可以使用 GroupBy
和 String.Join
:
var groupedNumbers= myList
.GroupBy(x => x.Number)
.Select(g => $"{g.Key} - {String.Join(", ", g.Select(x => x.SecondNumber))}");
string result = String.Join("; ", groupedNumbers);
我正在使用字符串插值,这是 C#6 的一项功能,如果您不使用它,请将 $"{g.Key}..."
替换为 String.Format("{0}...", g.Key, ..)
。
当您获得 Number
时,遍历 myList
以查找 Number
的所有实例,然后获取每个对应的 SecondNumber
并将其附加到您的字符串。
在构建最终字符串之前,您可能需要先使用以下代码对数组进行分组:
var groupedList = myList.GroupBy(x => x.Number)
然后使用该分组列表获取正确的字符串:
foreach (var item in groupedList)
{
myBuilder.Append(item.Number).Append(" - ").Append(item.Select(x => x.SecondNumber).Join(", ")).Append("; ");
}
我有这个代码
var myBuilder = new StringBuilder();
foreach (var item in myList)
{
myBuilder.Append(item.Number).Append(" - ").Append(item.SecondNumber).Append(", ");
}
var text = myBuilder;
并使用它我得到了这个文本
AAA08 - BB08, AAA09 - BB09, AAA09 - BB10,
myList returns 这个:
{ Number = "AAA08", SecondNumber = "BB08" }
{ Number = "AAA09", SecondNumber = "BB09" }
{ Number = "AAA09", SecondNumber = "BB10" }
如何将它连接到字符串以显示:
AAA08 - BB08; AAA09 - BB09, BB10
我可以将 ,
替换为 ;
但不知道如何对这些 Number
进行分组以仅显示一个 SecondNumber
对他的权利
您可以使用 Linq 和 string.Join
var grouped = myList
.GroupBy(x => x.Number)
.Select(g => g.Key + " - " + string.Join(", ", g.Select(x => x.SecondNumber)))
var text = string.Join("; ", grouped);
您可以使用 GroupBy
和 String.Join
:
var groupedNumbers= myList
.GroupBy(x => x.Number)
.Select(g => $"{g.Key} - {String.Join(", ", g.Select(x => x.SecondNumber))}");
string result = String.Join("; ", groupedNumbers);
我正在使用字符串插值,这是 C#6 的一项功能,如果您不使用它,请将 $"{g.Key}..."
替换为 String.Format("{0}...", g.Key, ..)
。
当您获得 Number
时,遍历 myList
以查找 Number
的所有实例,然后获取每个对应的 SecondNumber
并将其附加到您的字符串。
在构建最终字符串之前,您可能需要先使用以下代码对数组进行分组:
var groupedList = myList.GroupBy(x => x.Number)
然后使用该分组列表获取正确的字符串:
foreach (var item in groupedList)
{
myBuilder.Append(item.Number).Append(" - ").Append(item.Select(x => x.SecondNumber).Join(", ")).Append("; ");
}