मान लीजिए मैं एक सीएसवी करने के लिए एक T[,]
से कुछ डेटा डंप के लिए एक विस्तार विधि लिखना चाहते हैं:लैम्ब्डा सी # विस्तार विधि में
public static void WriteCSVData<T>(this T[,] data, StreamWriter sw)
{
for (int row = 0; row < data.GetLength(0); row++)
for (int col = 0; col < data.GetLength(1); col++)
{
string s = data[row, col].ToString();
if (s.Contains(","))
sw.Write("\"" + s + "\"");
else
sw.Write(s);
if (col < data.GetLength(1) - 1)
sw.Write(",");
else
sw.WriteLine();
}
}
जो मैं
using (StreamWriter sw = new StreamWriter("data.csv"))
myData.WriteCSVData(sw);
साथ कह सकते हैं लेकिन लगता है myData
है एक Complex[,]
और मैं जटिल संख्या की परिमाण लिखना चाहता हूं, पूर्ण मूल्य नहीं। यह सुविधाजनक हो अगर मैं लिख सकता है जाएगा:
using (StreamWriter sw = new StreamWriter("data.csv"))
myData.WriteCSVData(sw, d => d.Magnitude);
लेकिन मुझे यकीन है कि लागू करने के लिए कैसे है कि विस्तार विधि में नहीं कर रहा हूँ या अगर यह भी संभव है।
अपने आउटपुट फ़ील्ड में किसी भी उद्धरण या न्यूलाइन को उद्धृत करना न भूलें! – Gabe