這就是所謂的「強大LINQ技術」 :)
笑話除了
它是Linq的方法來獲得從集合的第一個元素或返回默認值。
var matchedRun = para.Inlines.FirstOrDefault(inline =>{ Run run = inline as Run; return (run != null && run.Text.EndsWith(inputText));}) as Run;
=>被稱爲拉姆達己技巧速記delagate decalaration
,所以你可以把它讀作
查找從para.Inlines 1號集合對象,其中該對象的endsWith一些用戶suplied值或如果沒有找到匹配,則重新設置默認值
如果您不想使用這種技術,實際上可以減少大量代碼,因此您可以嘗試使用等價代碼
Paragraph para = CaretPosition.Paragraph;
var matchedRun = null;
foreach (var inl in para.Inlines)
{ Run run = inl as Run;
if ((run != null) && run.Text.EndsWith(inputText))
{ matchedRun = run; break; }
}
現在你可以決定哪個是最好編寫
發表評論,因爲我只能回答(1)它是LINQ。你對代碼的理解是什麼? – BoltClock 2010-11-27 14:32:45
他不完全明白它的意思。 – 2010-11-27 14:35:33
這將有助於瞭解您對此不瞭解的內容。 – 2010-11-27 14:36:04