2012-01-19 17 views
5

क्या डेटाटेबल को एक बहुआयामी स्ट्रिंग सरणी में परिवर्तित करने का कोई आसान तरीका है?बहुआयामी ऐरे के लिए डेटाटेबल

शायद LINQ का उपयोग कर रहे हैं?

... मैन्युअल रूप से सभी स्तंभों/पंक्तियों के माध्यम से पाशन तुलना में एक बेहतर तरीका हो होगा नहीं है

+1

वहाँ पाशन के लिए एक अच्छा कारण है, को देखने के http://stackoverflow.com/questions/8918157/how-do-i-convert-a-resultset-in-a-list-of-hashtable/8918431#8918431 –

+0

डॉन ' आपको लगता है कि आप रूपांतरण के दौरान सभी रिकॉर्डों पर लूप करेंगे? – rerun

उत्तर

4

Linq जवाब है। आप AsEnumerable विधि का उपयोग कर DataTable को IENumerable में परिवर्तित कर सकते हैं। फिर, ToArray() इसे एक सरणी में परिवर्तित करता है।

var tableEnumerable = DataTableName.AsEnumerable(); 
tableArray = tableEnumerable.ToArray(); 
+2

क्षमा करें, मैंने पहले कभी LINQ का उपयोग नहीं किया है। मुझे यह त्रुटि मिल रही है 'टाइप' System.Data.DataRow [] 'को' स्ट्रिंग [*, *] 'में रूपांतरित नहीं कर सकता है' किसी भी मदद की सराहना की जाएगी। – Greg

+0

क्या आपको वह लाइन मिल रही है जो मैंने आपको दी थी? यदि हां, तो क्या आप इसे विभिन्न हिस्सों में विभाजित कर सकते हैं (संख्यात्मक = DataTable.asenumerable(); tablearray = enumerable.toarray();) और देखें कि यह अभी भी वही प्रतिक्रिया करता है या नहीं। –

+0

@ ग्रेग मुझे एक ही त्रुटि मिल रही है, यहां तक ​​कि यह कई लाइनों पर विभाजित है। क्या आपने कभी इसे हल किया है? । – Rachel

0

dt.Rows.Cast() का प्रयास करें। का चयन करें (// तार करने के लिए DataRow)

4

yourTable.AsEnumerable()। का चयन करें (पंक्ति => row.ItemArray) .ToArray()

+0

ऊपर जवाब पर मेरी टिप्पणी को देखने के/एक/8932997/585552 – Greg

संबंधित मुद्दे