2009-09-02 14 views
10

के साथ सभी कंसोल आउटपुट देखने के लिए/स्क्रॉल नहीं देख सकता/जब मैं इस कोड को चलाता हूं, तो आउटपुट विंडो के शीर्ष पर संख्या 99701 होती है। मैं क्यों नहीं मिलता 1 के माध्यम से सभी तरह से देखें? मैं वास्तव में आउटपुट प्राप्त करने वाली सभी संख्याओं को देखता हूं, लेकिन कंसोल विंडो पर, मैं केवल 99701 (अनुमान लगा रहा हूं) देखने के लिए पर्याप्त स्क्रॉल कर सकता हूं। मैं विस्टा होम पर विजुअल सी # एक्सप्रेस का उपयोग कर रहा हूं। : डी(Console.BufferHeight) मैं Console.WriteLine

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Text.RegularExpressions; 
using utilities; 

namespace Testing_Project { 
    class Program { 
     static void Main(string[] args) { 
      List<string> myList = new List<string>(); 

      for (int x = 0; x < 100000; x++) 
       myList.Add(x.ToString()); 
      foreach (string s in myList) { 
       Console.WriteLine(s); 
      } 

      Console.Read(); 
     } 
    } 
} 

कंसोल। राइट ठीक है, लेकिन कंसोल। राइट (एस + "\ n") नहीं है। मुझे लगता है कि मैं केवल इतनी नईलाइनों के माध्यम से स्क्रॉल कर सकता हूं?

+0

+1 सवाल, क्योंकि बहुत से लोगों को यह गलत लगता है;) –

उत्तर

25

नेट फ्रेमवर्क 2.0 और उससे आगे से, आप Console.BufferHeight साथ अपने स्वयं के कार्यक्रम के भीतर से बफर ऊंचाई बदल सकते हैं:


Console.BufferHeight = Int16.MaxValue - 1; // ***** Alters the BufferHeight ***** 
List<string> myList = new List<string>(); 
for (int x = 0; x < 100000; x++) 
    myList.Add(x.ToString()); 
foreach (string s in myList) { 
    Console.WriteLine(s); 
} 

अधिकतम ऊंचाई Int16.MaxValue है - अपने लिए 1.

+0

हम्म, वास्तव में आप कर सकते हैं? जानकार अच्छा लगा। यद्यपि 100000 वस्तुओं के लिए अभी भी पर्याप्त नहीं है। :) – Botz3000

+0

यह मुझे 67235 तक ले जाता है, लेकिन अधिक महत्वपूर्ण बात यह समस्या बताती है: डी –

+0

रॉक'ऑरोल! : डी –

11

300 आपका डिफ़ॉल्ट कंसोल बफर आकार प्रतीत होता है। यह एक विंडोज सेटिंग है और यह आपके आवेदन से संबंधित नहीं है।

आप निष्पादन योग्य को शॉर्टकट बनाकर कंसोल बफर आकार बदल सकते हैं। फिर शॉर्टकट पर राइट क्लिक करें और गुण चुनें। विकल्प टैब में जाएं और बफर आकार बदलें।

मान लीजिए कि मैंने उस सुविधा को लंबे समय तक नहीं देखा है, लेकिन अब यह संशोधित प्रतीत होता है। Alfred Myers answer

+3

इसे कंसोल के माध्यम से बदला जा सकता है। बफर हाइट इंट 16 तक। मैक्सवेल्यू - 1 –

2

आपको इससे और अधिक देखने की ज़रूरत नहीं है क्योंकि कंसोल डिफ़ॉल्ट रूप से 300 से अधिक पंक्तियों को बफर नहीं करता है। इसे बदलने के लिए कंसोल के लिए सेटिंग्स संवाद का उपयोग करें - I पर विश्वास करें कि आप केवल कमांड प्रॉम्प्ट प्रारंभ कर सकते हैं और उन्हें वहां बदल सकते हैं, फिर अपना प्रोग्राम चलाएं।

अल्फ्रेड पहले ही बता चुका है कि आपका एप्लिकेशन बफर ऊंचाई को कैसे बदल सकता है।

+1

हां यह है। इसे कंसोल के माध्यम से बदला जा सकता है। BufferHeight तक Int16.MaxValue - 1 –

+0

मैं सही खड़ा हूं। मैं तदनुसार संपादित करूंगा। –

2

इसका सी # के साथ कुछ लेना देना नहीं है, लेकिन वास्तव में कमांड प्रॉम्प्ट में आउटपुट बफर डिफ़ॉल्ट रूप से केवल 300 लाइन लंबा है। आप इसे विंडो सेटिंग्स में बदल सकते हैं, हालांकि हो सकता है कि यह एक "अधिक" सुविधा को कार्यान्वित करने का प्रयास करने का अवसर हो, जो प्रत्येक बार एक स्क्रीनफुल डेटा आउटपुट होने पर लूप से बाहर हो जाता है। फिर जब आप एक कुंजी दबाते हैं, तो यह एक और स्क्रीनफुल आउटपुट करता है, आदि

+0

इसे कंसोल के माध्यम से बदला जा सकता है। BufferHeight तक Int16.MaxValue - 1 –

3

यह कंसोल आपके ऐप नहीं है।

एक विकल्प के रूप में आप Debug.WriteLine (System.Diagnostics) का उपयोग कर सकते हैं और विजुअल स्टूडियो में आउटपुट विंडो का उपयोग कर सकते हैं। इसमें एक बड़ा बफर है (बस एक डीबग बिल्ड चलाने के लिए सुनिश्चित हो)।

+0

आप कंसोल की सेटिंग्स बदल सकते हैं। इसे कंसोल के माध्यम से बदला जा सकता है। BufferHeight तक Int16.MaxValue - 1 –

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