आह जब दस्तावेज़ विफल हो जाता है, तो decompile। मैं हमेशा भूल जाता हूँ!
अच्छा, ऐसा मत करो। अब यह आवश्यक नहीं है, आप माइक्रोसॉफ्ट प्रोग्रामर द्वारा लिखे गए वास्तविक स्रोत कोड को देख सकते हैं। डीकंपील्ड कोड से हमेशा बेहतर, इसमें टिप्पणियां हैं।
Reference Source वेबसाइट पर जाएं। यह एक मोटा साल पहले अपडेट किया गया था, अब यह एक बहुत ही जटिल ब्राउज़र इंटरफ़ेस है जो वास्तव में एक डिकंपेलर से तेज़ है। बस खोज बॉक्स में StreamWriter टाइप करें। आपको खोजने के लिए लगभग एक दर्जन सेकंड में ले जाता है:
// For UTF-8, the values of 1K for the default buffer size and 4K for the
// file stream buffer size are reasonable & give very reasonable
// performance for in terms of construction time for the StreamWriter and
// write perf. Note that for UTF-8, we end up allocating a 4K byte buffer,
// which means we take advantage of adaptive buffering code.
// The performance using UnicodeEncoding is acceptable.
internal const int DefaultBufferSize = 1024; // char[]
private const int DefaultFileStreamBufferSize = 4096;
तो स्ट्रीमवाइटर के लिए डिफ़ॉल्ट 1024 वर्ण हैं। और यदि आप किसी स्ट्रीम के बजाय फ़ाइल में लिखते हैं तो 4096 बाइट बफर वाला फ़ाइलस्ट्रीम है, इसे बदल नहीं सकता है। यह टिप्पणियों के साथ एक क्लासिक समस्या का पर्दाफाश करता है, उनके पास बनाए रखने और कोड को मेल नहीं करने के लिए एक नाटक है। "अनुकूली बफरिंग" के बारे में नूडलिंग वास्तव में लागू नहीं किया गया है। एक कीबी 1024 पैर के साथ एक जानवर है, कभी 1000 नहीं।
स्रोत
2015-04-02 13:04:24
[यह पोस्ट] (http://stackoverflow.com/questions/5670873/streamwriter-automatically-flushing-buffer-when-given-large-messages) बताता है कि डिफ़ॉल्ट बफर आकार 1024 बाइट्स है। – dotNET
आह जब दस्तावेज़ विफल रहता है, तो decompile। मैं हमेशा भूल जाता हूँ! धन्यवाद :) –
[यहां यह है] (http://referencesource.microsoft.com/#mscorlib/system/io/streamwriter.cs,62bd8ad495f57b21,references) –