आप एक विशेष स्तंभ निर्दिष्ट करना चाहते हैं और एक के रूप में अपने सभी मान -
http://msdn.microsoft.com/en-us/library/system.data.datatableextensions.aspx
और DataRowExtensions वर्ग - आप DataTableExtensions वर्ग की जांच करनी चाहिए स्ट्रिंग सरणी उदाहरण के लिए,
int columnIndex = 2; // desired column index
// for loop approach
string[] results = new string[dt.Rows.Count];
for (int index = 0; index < dt.Rows.Count; index++)
{
results[index] = dt.Rows[index][columnIndex].ToString();
}
// LINQ
var result = dt.Rows.Cast<DataRow>()
.Select(row => row[columnIndex].ToString())
.ToArray();
आप columnName
साथ columnIndex
बजाय बदल सकते:
बाहर इन तरीकों का प्रयास करें
string columnName = "OrderId";"
संपादित करें: आप एक स्ट्रिंग सरणी के लिए पूछा है विशेष रूप से, लेकिन मामले में आप उन उदाहरणों के बारे में लचीले हैं जिन्हें मैं List<string>
पसंद करूंगा ताकि पहले उदाहरण में लूप से पहले सरणी की लंबाई निर्धारित करने की आवश्यकता से बच सकें और बस इसे जोड़ सकें इसके लिए एमएस। इसके बजाय फ़ोरैच लूप का उपयोग करने का भी एक अच्छा अवसर है।
इस प्रकार मैं तो कोड को फिर से लिखने होगा:
List<string> list = new List<string>();
foreach (DataRow row in dt.Rows)
{
list.Add(row[columnIndex].ToString());
}
स्रोत
2010-01-16 15:26:32
क्या आप निर्दिष्ट कर सकते हैं? किसी भी Datarow में ItemArray प्रॉपर्टी है जो आपको उसी क्रम में ऑब्जेक्ट सरणी देता है क्योंकि इसके लिए कॉलम परिभाषित किया गया है। ऑब्जेक्ट्स को स्ट्रिंग्स में कनवर्ट करने के बाद प्रत्येक मान पर ToString() को कॉल करना जितना आसान होगा, लेकिन शायद यह कुछ और है जो आप चाहते हैं ... – flq
डेटा कॉलम के मान स्ट्रिंग्स की सरणी में परिवर्तित किए जाएंगे, लेकिन मैं सबसे अच्छा ढूंढ रहा हूं इसे लागू करने के लिए विधि। – Ahmed