私はHTML文書からの行を含むリストを作成しました。最後にCSS参照のインデックスを取得しようとしています(後に新しい参照を追加するため)。次のコードは私のためには機能しません。CでリストからXで始まる文字列の最後のインデックスを取得する方法は?
string prefix = "<link rel=\"stylesheet\""; //goal is to find last line that starts with this.
LineList = File.ReadAllLines(file).ToList();
int index = LineList.LastIndexOf(prefix);
私は、.LastIndexOf()
は、正確に定義された文字列でのみ動作すると推測しています。 prefix
で始まる(または含まれている)最後の行のインデックスはどのようにして見つけられますか?上記のアイデアは、このリストのインデックスを作成し、接頭辞をStartsWith
最後のいずれかを選択することである
string prefix = "<link rel=\"stylesheet\""; //goal is to find last line that starts with this.
List<string> LineList = File.ReadAllLines(file).ToList();
int index = LineList.Select((n, i) => new { Value = n, Index = i })
.LastOrDefault(x => x.Value.StartsWith(prefix))
.Index;
:
は、あなたがこのようLINQ
と文字列メソッドStartsWith
を使用することができ、あなたに
インデックスを文字列、またはリスト内のインデックス?現時点では不明です。あなたは実際にインデックスを必要としますか、または単にライン自体は必要ですか?これらの質問に対する答えは、あなたがすべきことに影響します。 (最後の行のインデックスを見つけるには、おそらく 'for'ループを使います。他のものはLINQを使います) –
@NicoRiff:それはコンパイルされません。文字列リテラルはここでは問題ではありません。 –