मेरे पास निम्नलिखित विधि को अधिक सामान्य बनाने की कोशिश कर रहे एक मस्तिष्क फार्ट है कि columnValues
पैरामीटर के लिए पास किया जा सकता है। यहाँ मैं क्या है:मैं इस विस्तार विधि को और अधिक सामान्य कैसे बना सकता हूं?
public static DataRow NewRow(this DataTable dataTable, List<string> columnValues)
{
DataRow returnValue = dataTable.NewRow();
while (columnValues.Count > returnValue.Table.Columns.Count)
{
returnValue.Table.Columns.Add();
}
returnValue.ItemArray = columnValues.ToArray();
return returnValue;
}
मैं इसे एक List<object>
करने से पहले यह विधि को पारित करने के लिए बदल सकते हैं और मूल सूची में परिवर्तित कर सकते हैं, लेकिन मुझे यकीन है कि वहाँ एक बेहतर विकल्प :-)
संपादित है कर रहा हूँ :
फ्रैंक की पोस्ट ने मुझे इस पर पुनर्विचार किया। अधिकांश मामलों में स्रोत List<T>
List<object>
होगा क्योंकि कॉलम मान अधिकतर अलग-अलग प्रकार होंगे।
मेरे शुरुआती उपयोग के लिए List<string>
समझ में आया क्योंकि मैं एक सीएसवी पार्स से एक डेटासेट बना रहा था जो उस बिंदु पर सभी पाठ है।
लॉल आप बिंदु उत्कृष्ट हैं और मैंने इसे नहीं माना था। मेरे शुरुआती उपयोग के लिए एक सूची समझ में आया क्योंकि मैं एक सीएसवी पार्स से एक डेटासेट बना रहा था जो उस बिंदु पर सभी पाठ है। अधिकांश अन्य उपयोगों के लिए यह समझ में नहीं आता है क्योंकि कॉलम मान अधिकतर अलग-अलग प्रकार होंगे। –