私は次のプログラムを持っています.私がやろうとしているのは、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);
}
}
最終結果は、Mike Smith from file1 : 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);
}