विजुअल स्टूडियो री-शार्पर में अनुशंसा करता रहता है कि मैं लूप को एक लिनक्स अभिव्यक्ति में रूपांतरित कर दूं लेकिन इसका कारण क्या है?रीशेर्पर का सुझाव है कि मैं लूप को एक LINQ अभिव्यक्ति में रूपांतरित करता हूं?
कौन सा तेज़ है?
foreach (XmlNode legendEntryNode in _legendEntryNodes)
{
var xmlElement = legendEntryNode["FeatureType"];
if (xmlElement == null || !xmlElement.InnerText.Equals(featuretype)) continue;
var xmlNodeList = legendEntryNode.SelectNodes("Themes/Theme");
if (xmlNodeList != null)
foreach (XmlNode themeNode in xmlNodeList)
{
var element = themeNode["Value"];
if (element == null || !element.InnerText.Equals(v)) continue;
var xmlElement1 = themeNode["Icon"];
if (xmlElement1 != null)
{
string iconname = "<ms:ICON>" + xmlElement1.InnerText + "</ms:ICON>";
var element1 = themeNode["Highlight"];
if (element1 != null)
{
string highlightname = "<ms:HIGHLIGHT>" + element1.InnerText + "</ms:HIGHLIGHT>";
gml = gml.Insert(c, iconname + highlightname);
c += (iconname.Length + highlightname.Length);
}
}
break;
}
}
और यह सरल उदाहरण:
यहां कुछ उदाहरण लूप जहां ReSharper एक LINQ रूपांतरण का सुझाव हैं
for (int i = 0; i < getPointsRequest.Attribs.Length; i++)
{
string attribName = getPointsRequest.Attribs[i].AttributeName;
if (!String.IsNullOrEmpty(attribName))
{
sqlQuery += "<ms:" + attribName + ">||\"" + attribName + "\"||</ms:" + attribName + ">";
}
}
आप हमें एक उदाहरण लूप दिखाना चाहते हैं। –
कुछ उदाहरण जोड़े गए – CSharpened
बस एक मामूली छोटी बात, मुझे पता है कि ये उदाहरण हैं लेकिन आप स्ट्रिंग कॉन्सटेनेशन को 'string.Format' में बदलना चाहते हैं, इसलिए सरल उदाहरण बन जाता है:' sqlQuery + = string.Format (" || \ "{0} \" || ", attribName); ', जो पढ़ने में आसान है। Resharper उन्हें बदलना आसान बनाता है क्योंकि यह इसके रिफैक्टरिंग विकल्पों में से एक है। –