मैं अभी सी # की नई async
सुविधाओं के साथ शुरू कर रहा हूं। मैंने समांतर डाउनलोड आदि पर बहुत कुछ पढ़ा है लेकिन टेक्स्ट फ़ाइल को पढ़ने/संसाधित करने पर कुछ भी नहीं है।फ़ाइल पढ़ने के लिए सी # 5.0 एसिंक का उपयोग
मेरे पास एक पुरानी स्क्रिप्ट थी जिसका उपयोग मैं लॉग फ़ाइल फ़िल्टर करने के लिए करता था और मुझे लगा कि मुझे इसे अपग्रेड करने के लिए जाना होगा। हालांकि मुझे यकीन नहीं है कि नए async
/await
सिंटैक्स का मेरा उपयोग सही है।
मेरे सिर में मैं इसे फ़ाइल लाइन को लाइन से पढ़ता हूं और इसे अलग थ्रेड में प्रोसेसिंग के लिए पास करता हूं ताकि परिणाम के इंतजार किए बिना यह जारी रह सके।
क्या मैं इसके बारे में सही तरीके से सोच रहा हूं, या इसे लागू करने का सबसे अच्छा तरीका क्या है?
static async Task<string[]> FilterLogFile(string fileLocation)
{
string line;
List<string> matches = new List<string>();
using(TextReader file = File.OpenText(fileLocation))
{
while((line = await file.ReadLineAsync()) != null)
{
CheckForMatch(line, matches);
}
}
return matches.ToArray();
}
पूर्ण स्क्रिप्ट: http://share.linqpad.net/29kgbe.linq
बस [msdn docs] (http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx) पर एक नज़र डालें, जिसने यह स्पष्ट किया कि मैं गलत में कीवर्ड के बारे में सोच रहा हूं मार्ग। मुझे नहीं लगता कि इस मामले में प्रदर्शन में सुधार करने के लिए वे बहुत कुछ कर सकते हैं। –
क्या मैं इसकी सिफारिश कर सकता हूं? http://blog.jerrynixon.com/2012/06/windows-8-how-to-read-files-in-winrt.html –