C#定义两类实现指定字符串输出,现有代码无法运行求修正方案
正确实现方案
先明确你现有代码的核心问题:
- 类A的
Console.WriteLine参数不完整,第二个占位符没有对应变量 - 类B的
ex2方法仅定义了字符串变量,既无返回值也无输出逻辑,且从未被调用 - 未按需求让两个类分别提供对应字符串的方法,也没处理首字母大写的要求
实现思路
让两个类分别提供返回对应字符串的方法(便于拼接成单行输出),在入口方法中调用这两个方法,获取字符串后拼接输出,同时修正首字母大写和字符串内容的问题。
实例方法实现(需实例化对象)
using System; // 第一个类,提供获取"C sharp"的方法 class CSharpClass { public string GetCSharpString() { return "C sharp"; } } // 第二个类,提供获取"programming"的方法 class ProgrammingClass { public string GetProgrammingString() { return "programming"; } } // 入口类 class Program { public static void Main() { // 实例化两个类的对象 CSharpClass cSharpObj = new CSharpClass(); ProgrammingClass programmingObj = new ProgrammingClass(); // 拼接字符串并单行输出 Console.WriteLine($"{cSharpObj.GetCSharpString()} {programmingObj.GetProgrammingString()}"); } }
静态方法实现(无需实例化)
如果不需要创建对象,可以用静态方法简化实现:
using System; class CSharpClass { public static string GetCSharpString() { return "C sharp"; } } class ProgrammingClass { public static string GetProgrammingString() { return "programming"; } } class Program { public static void Main() { // 直接调用静态方法获取字符串并输出 Console.WriteLine($"{CSharpClass.GetCSharpString()} {ProgrammingClass.GetProgrammingString()}"); } }
代码说明
- 两个类各自承担单一职责:一个负责提供"C sharp"字符串,另一个负责提供"programming"字符串
- 入口方法
Main中通过实例化对象(或直接调用静态方法)获取字符串,用字符串插值语法拼接成单行输出 - 修正了原代码中字符串内容错误(原B类用了"program"而非需求的"programming")以及首字母大写的问题
内容的提问来源于stack exchange,提问作者Nanda kumar Baskar
相关产品推荐
相关产品推荐

