आप एक एक्सटेंशन लिख सकते हैं। मैंने एक बार पहले लिखा था, जैसे कोड बनाने के लिए
if(someObject.stringPropertyX.Equals("abc") || someObject.stringPropertyX.Equals("def") || ....){
//do something
...
}else{
//do something other...
....
}
एक एक्स्टेंशन सेंट के साथ अधिक पठनीय लिखने में सक्षम था
if(someObject.stringPropertyX.In("abc", "def",...,"xyz"){
//do something
...
}else{
//do something other...
....
}
यहाँ कोड है :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Some.Namespace.Extenders
{
public static class StringExtender
{
/// <summary>
/// Evaluates whether the String is contained in AT LEAST one of the passed values (i.e. similar to the "in" SQL clause)
/// </summary>
/// <param name="thisString"></param>
/// <param name="values">list of strings used for comparison</param>
/// <returns><c>true</c> if the string is contained in AT LEAST one of the passed values</returns>
public static bool In(this String thisString, params string[] values)
{
foreach (string val in values)
{
if (thisString.Equals(val, StringComparison.InvariantCultureIgnoreCase))
return true;
}
return false; //no occurence found
}
}
}
यह उस समय मेरी जरूरतों के लिए विशिष्ट है, लेकिन आप इसे और अधिक विभिन्न प्रकारों के मिलान के लिए अनुकूलित और संशोधित कर सकते हैं।