0
在我的應用程序中,我使用下面的代碼來獲取所需內容的索引(行號)(我基於skip/take索引和搜索文本多次使用該索引)。我正在使用「跳過」和「取消」,具體取決於是否必須在某些行後面搜索數據或者在某些行中使用行。在這兩種情況下,我使用First()而不是FirstOrDefault()作爲我正在搜索的文本將始終存在。Linq獲取索引
Int myIndex = pSegments.Skip(nextIndex).Where(seg => (seg.Elements.ElementAt(0).Equals("MyTEXT")).Select(seg => seg.LineNumber).First();
Int myIndex = prodSegments.Take(testIndex).Where(seg => (seg.SegID.Equals("SOMETEXT") && seg.Elements.ElementAt(1).Equals(「SampleText」))).Select(seg => seg.LineNumber).First();
哪裏pSegments是 -
IEnumerable<PSegment> pSegments;
class PSegment
{
public string SegID { get; set; }
public string[] Elements { get; set; }
public int LineNumber { get; set; }
}
它並沒有給我任何問題至今。但這是採取這種手術的正確方法嗎?有什麼更好的嗎?
感謝
我有我加載到pSegments中的文本文件,其中每個pSegemnt是文本文件中的一行。另一個文本文件我將加載到另一組段中。現在循環通過一組段,我從另一組段中搜索數據。在搜索時,我使用了Skip/Take,這樣我就不用搜索所有的段 – San