c# - कंसोल का उपयोग करते हुए लिखा गया एक चरित्र को हटाने का एक तरीका है। WrightLine?




console console-application (4)

कंसोल से अंतिम वर्ण को हटाने का कोई तरीका है, यानी

Console.WriteLine("List: apple,pear,");
// Somehow delete the last ',' character from the console.
Console.WriteLine(".");
// Now the console contains "List: apple,pear."

ज़रूर, मैं पहली बार एक स्ट्रिंग तैयार कर सकता हूं जो कंसोल को प्रिंट करता है, लेकिन मुझे यह देखने के लिए उत्सुक है कि क्या मैं कंसोल से सीधे अक्षर हटा सकता हूं।


आप कंसोल को साफ़ कर सकते हैं और फिर नया आउटपुट लिख सकते हैं।


यदि आप WriteLine बदले WriteLine का उपयोग करते हैं, तो ये WriteLine

Console.Write("List: apple,pear,");
Console.Write("\b");  // backspace character
Console.WriteLine(".");

लेकिन कंसोल पर आपके पास बहुत नियंत्रण हैं आप अपनी इच्छा के किसी भी स्थान पर लिख सकते हैं। बस Console.SetCursorPosition(int, int) उपयोग करें Console.SetCursorPosition(int, int) विधि


यदि आप केवल एक चार को नष्ट करना चाहते हैं तो आप इसका उपयोग कर सकते हैं:

Console.SetCursorPosition(Console.CursorLeft - 1, Console.CursorTop); और Console.Write()Console.Write() फिर से।

यदि आप एक से अधिक चार को हटाना चाहते हैं, जैसे कि एक स्वचालन, तो आप वर्तमान Console.CursorLeft को स्टोर कर सकते हैं। Console.CursorLeft एक चर में रख सकते हैं और उस मान को Console.SetCursorPosition(--variablename, Console.CursorTop) में उपयोग कर सकते Console.SetCursorPosition(--variablename, Console.CursorTop) एक पाश में कई वर्णों को हटाने के लिए चाहते हैं!


Console.Write("\b \b"); शायद आप क्या चाहते हैं यह अंतिम चार हटाता है और कैरेट वापस ले जाता है

\b बैकस्पेस एस्केप वर्ण केवल कैरेट वापस ले जाता है यह अंतिम चारों को हटा नहीं करता है तो Console.Write("\b"); केवल कैरेट एक वापस ले जाता है, आखिरी चरित्र को अभी भी दिखाई दे रहा है

Console.Write("\b \b"); हालांकि, पहले कैरेट को वापस ले जाता है, फिर एक व्हाइटेस्पेस कैरेक्टर लिखता है जो अंतिम चार को ओवरराइट करता है और कैरेट को फिर से आगे ले जाता है। तो हम कैरेट को वापस फिर से ले जाने के लिए दूसरी \b लिखते हैं। अब हमने क्या किया है जो बैकस्पेस बटन सामान्य रूप से करता है।





console.writeline