तुम बस नई सरणी बना सकते हैं और तत्वों है कि आप इसे करने के लिए अपने दांतेदार सरणी से की जरूरत है डाल:
List<string> myListOfStrings = (new[] {listOfArrays[0][1], listOfArrays[1][1]), listOfArrays[2][1]}).ToList();
या करना चाहते हैं कुछ की तरह:
List<string> myListOfStrings = new List<string>();
for(int i = 0; i < listOfArrays.Length; i++) myListOfStrings.Add(listOfArrays[i][1]);
पी एस dasblinkenligh के लिए विशेष:
class Program
{
static string[][] GetRandomJaggedArray(int numberOfArrays, int numberOfElements)
{
string[][] temp = new string[numberOfArrays][];
for (int i = 0; i < numberOfArrays; i++)
{
temp[i] = new string[numberOfElements];
for (int i2 = 0; i2 < temp.Length; i2++)
temp[i][i2] = Guid.NewGuid().ToString();
}
return temp;
}
static TimeSpan getElementsAtIndexLINQ(string[][] listOfArrays, int index, int count)
{
Stopwatch s = new Stopwatch();
List<string> myListOfStrings;
s.Start();
for (int i = 0; i < count; i++)
myListOfStrings = listOfArrays.Select(a => a[index]).ToList();
s.Stop();
return s.Elapsed;
}
static TimeSpan getElementsAtIndexFOR(string[][] listOfArrays, int index, int count)
{
Stopwatch s = new Stopwatch();
List<string> myListOfStrings = new List<string>();
s.Start();
for (int i2 = 0; i2 < count; i2++)
for (int i = 0; i < listOfArrays.Length; i++) myListOfStrings.Add(listOfArrays[i][index]);
s.Stop();
return s.Elapsed;
}
static void Main(string[] args)
{
string[][] test1 = GetRandomJaggedArray(100, 1000);
string[][] test2 = GetRandomJaggedArray(100, 1000);
TimeSpan t1 = getElementsAtIndexLINQ(test1, 1, 10);
TimeSpan t2 = getElementsAtIndexFOR(test2, 1, 10);
Console.WriteLine("Linq method took {0} ticks to execute", t1.Ticks);
Console.WriteLine("For method took {0} ticks to execute", t2.Ticks);
Console.ReadKey();
}
}
आउटपुट:
LINQ के बारे में अधिक यहाँ बनाम: For vs. Linq - Performance vs. Future
डैंग ने मुझे मार दिया। लेकिन हाँ यह है कि 'चयन करें' के लिए बनाया गया था। – ryanyuyu
यह उत्कृष्ट है यदि आप यहां प्रदर्शन के बारे में ज्यादा परवाह नहीं करते हैं, हालांकि LINQ लूप के लिए सरल रूप से धीमा है। – Fabjan
@Fabjan क्या आप अपने "महत्वपूर्ण धीमे" दावे का समर्थन करने के लिए संख्याओं को साझा करना चाहते हैं? – dasblinkenlight