كيفية اتخاذ مدخلات من المستخدم في وحدة التحكم أو ملف بكل سهولة في ج #؟

StackOverflow https://stackoverflow.com/questions/816726

  •  03-07-2019
  •  | 
  •  

سؤال

وأنا C ++ المستخدم والآن تحاول استخدام ج #.

في ج ++ اتخاذ مدخلات من المستخدم كانت ممتعة (فقط >>) ويدعم جميع أنواع. لذلك كان للملفات. ولكن في ج # ما هو معقد للغاية، وأنا يمكن أن تتخذ سلاسل فقط. ثم لا بد لي من التلاعب به لاستخدامها لاحقا.

وإذا كنت تريد أن تأخذ مدخلات متعددة في نفس الخط مفصولة الفراغات، فإنه يصبح أكثر تعقيدا كما يجب أن أذهب لتقسيم السلسلة. ثم تحويل ...

قد يكون هو الحال بالنسبة لمعالجة الأخطاء ورمز آمن. ولكن أشعر بخيبة أمل مع C # على أي حال.

وأنت جميع اللاعبين خبير هنا. هل هناك أي وسيلة سهلة؟

هل كانت مفيدة؟

المحلول

وبقدر ما أنا على علم، عليك أن تفعل ذلك بالطريقة الصعبة. (على الجانب المشرق رغم ذلك، بالطريقة الصعبة هي أبسط من انها تريد ان تكون في C ++؛))

وConsole.OpenStandardInput () لا تعطيك تيار المدخلات، لذلك يمكن أن يعامل نفس الملفات، ولكن سيكون لديك للقيام سلسلة تقسيم نفسك إذا كنت بحاجة إلى ذلك. بالطبع، C # لديه مكتبة التعبيرات العادية لطيفة التي يمكن أن تساعد هنا.

وT.TryParse (حيث T هو كثافة، تطفو، أيهما النوع الذي تريد أن تقرأ) أن تتيح لك تحويل السلسلة إلى تلك الأنواع.

نصائح أخرى

وأخيرا، فإنه لن يأخذ الكثير من أجل الانتهاء من ذلك - كنت بحاجة فقط للتخفيف من السطر الحالي وقراءة قبالة المدخلات في شكل المطلوب. لكن المنظمة البحرية الدولية، انقسام القليل / TryParse الخ نادرا ما يضر.

وأنا لست متأكدا 100٪ من الأشكال المتوقع أن >> يقبل، ولكن أشك في أنه سيكون من الصعب أن تفعل شيئا من هذا القبيل. أنا لا التطوع لأنه يكتب، على الرغم من ؛-p

وكما أجبت، C # لا يدعم هذا. لا الحمولة الزائدة من << أو >> للتيارات على الإطلاق، وبينما كان هناك TextWriter.WriteLine ( ""، ...) ليس هناك TextReader.ReadLine المقابلة () مع قائمة معلمة متغير.

وأنا سآخذ تخمين في <م> لماذا : تنسيق البيانات دات CIN-spepareted بيضاء يفهم ببساطة لا يستخدم كثيرا بعد الآن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top