c# 怎么用foreach 将两个字符串数组合并?

static List<string> AString;
static List<string> BString;

AString 存储的是名字 的字符串数组
BString 存储的是对话 的字符串数组
但是不知道怎么合到一起输出,而且不换行
比如

AString BString
NAME : SAY
张三: 你好,我是张三。
李四: 本大爷是李四。
啊久: 不是酒,是久啦!

软糖来回答吧,合并string数组方法有很多种。

推荐使用linq语句,一行搞定

❶ 使用IEnumerable.Zip()方法

string r = string.Join("\r\n", AString.Zip(BString, (a, b) => a + ":" + b));

❷ 使用IEnumerable.Select()方法

string r = string.Join("\r\n", AString.Select((a, idx) => $"{a}:{BString[idx]}"));  

❸ 使用IEnumerable.Range()和Select()方法

string r = string.Join("\r\n", Enumerable.Range(0, AString.Count).Select(i => $"{AString[i]}:{BString[i]}"));

最后使用  Console.Write(r);  输出结果就行。

❹ 通过for循环实现

StringBuilder str = new StringBuilder();

for(int i=0; i< AString.count; i++)

{

str.AppendFormat("{0}:{1}\r\n", AString[i], BString[i]);

}

最后使用 Console.Write(str.ToString());输出结果就行。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-23
这个不能用foreach吧,

换成for 试试:
for(int i=0; i==AString.Count(); i++)
{
MessageBox.Show(AString[i].NAME + ":" + BString[i].SAY);
}本回答被网友采纳
第2个回答  2020-03-13
List 是集合,不是数组,合并, Asting.Add(BString),不换行,就别加\n
第3个回答  2020-02-27
这个例子用foreach不合适吧,如果有个人连续讲了三句话,这样foreach不就对应错了吗
相似回答