現在のコードは、配列に保存された文字列を含むリストをループしています。現在、配列内のすべての文字列を検索します。私はこれを変更して、 "log [1]"内の文字列を検索(探している)するだけです。C# "配列[1]"内の文字列にキーワードが含まれている場合、配列全体を書き込む方法
申し訳ありませんが、私は "log [1]"という単語を知らないのです。私はプログラミングに新しい。読書を続けて、あなたが理解すると思います。
これは私がそれをしたい方法です:
foreach (string[] item[1] in loggbok)
項目[1]ログが[1]。私はlog [1]内でのみ検索したいので、数字1は非常に重要です。
これが私のリストで、アレイ全体を保存するための私の現在のコードは次のとおりです。
List<string[]> loggbok = new List<string[]> { };
string[] log = new string[3]; //date, title, post
DateTime date = DateTime.Now;
log[0] = "\n\tDate: " + date.ToLongDateString() + " Kl: " + date.ToShortTimeString();
Console.WriteLine(log[0]);
Console.Write("\tTitle: ");
log[1] = "\tTitle: " + Console.ReadLine();
Console.Write("\tPost: ");
log[2] = "\tPost: " + Console.ReadLine();
loggbok.Add(log);
log = new string[3];
私は保存
次のコード "[1]ログインし、ログイン[2]、[3]ログ"私は私のリストを通過し、ログ[1]別名の中のすべての文字列を認識する検索機能を作りたい。文字列タイトルにusersキーワードが含まれている場合、すべてのログが結合され、ログが出力されます。
現在。私はすべてのログ(1,2,3)を検索してこれを解決しました。これは私のプログラムが(タイトル、日付、投稿)内の文字列を現在検索していることを意味します。これにより、タイトルを検索するだけでユーザーを制限したい場合は、メッセージを検索したり、「投稿する」ことができます。
私は私のforeachループの中で私は "item"を "item [1]"にするとmabyと思った。私のコードは "log [1]"だけを探すようにします。 "item [1]"の記述が無効な構文なので、私はそれほど遠くには行きませんでした。
現在の検索機能:
string key;
Console.Write("\n\tSearch: ");
key = Console.ReadLine();
//Searching through all log[] in loggbok.
//I want to change this line to item[1]
foreach (string[] item in loggbok)
{
//goes deeper and looks for all strings within log[].
foreach (string s in item)
{
//if a string is found containing key word, this block will run.
if (s.Contains(key))
{
foundItem = true;
Console.WriteLine(String.Join("\r\n", item));
index++;
}
}
}
これはどうですか。 – Gobban
私はテキストの壁を書こうとは思っていませんでしたが、私は熟考しているプログラマーですから、この質問をより簡単に聞かせるための正しい言葉はわかりません。これは大規模なもので、もしそうなら、私は謝罪します。しかし、これが私の問題を理解しやすくすることを願っています。 – Gobban
私はまた、より適切なタイトルを変更しようとしました。私はC#で "log [1]"と呼ぶものを知らない。それは要素、配列、arraymemberですか?知りません。私はそれが何が呼ばれているかを知っているときにこれを編集することができます – Gobban