我有以下程序,我想要做的是加入我从 2 个文本文件中获得的姓名列表,在第一个文本文件中我有名字,在第二个姓氏中,我试图加入他们。此外,我正在尝试列出文件的所有组合,即名字是马克和迈克,姓氏是威尔逊和沃森,我想制作迈克沃森和迈克威尔逊
TextReader sr = new StreamReader(textBox1.Text);
TextReader sr2 = new StreamReader(textBox2.Text);
string contents = sr.ReadToEnd();
string contents2 = sr2.ReadToEnd();
string[] myArray = { contents };
string[] myArray2 = { contents2 };
foreach (string element1 in myArray)
{
foreach (string element2 in myArray2)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(element1);
sb.Append(" " + element2);
Debug.WriteLine(sb.ToString());
string str = sb.ToString();
Debug.WriteLine(str);
//MessageBox.Show(sb.ToString);
}
}
最终结果应该是,来自 file1 的 Mike Smith:mike,file2:smith
谢谢您的帮助
使用上述答案的组合我想出了这个答案,分割文本文件时的 '\r' 至关重要,因为文本是从 Windows 2003 读取的(我不确定在 win 7 或 2008 上会产生什么结果)使用内置数组很好,但是当我尝试从文件系统运行它时,我得到了完全不同的结果,添加了 '\r' 修复请看这篇文章
TextReader sr = new StreamReader(textBox1.Text);
TextReader sr2 = new StreamReader(textBox2.Text);
string contents = sr.ReadToEnd();
string contents2 = sr2.ReadToEnd();
string[] firstNames = contents.Split(new Char[] { '\r','\n',' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
string[] lastNames = contents2.Split(new Char[] { '\r','\n',' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
var fullnames =
from fn in firstNames
from ln in lastNames
select new { Fullname = fn + " " + ln };
foreach (var person in fullnames)
{
Debug.WriteLine(person.Fullname);
//MessageBox.Show(person.Fullname);
}