You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#控制台应用:如何通过继承实现两个ASCII文本横向同屏显示

解决方案

问题核心在于当前输出逻辑:Egg() 先输出4行文本,Cat() 从新行开始输出,自然无法横向并排。要让两个图形在同一行显示,需要逐行拼接两个图形的对应行后再统一输出。

具体实现步骤

  1. 将Egg和Cat的图形拆解为每行字符串,分别存入数组
  2. 遍历两个数组,逐行拼接(行数较少的图形补空格对齐)
  3. 依次输出拼接后的每一行

修改后的代码示例

public class Program
{
    // 存储Egg的每一行内容
    private readonly string[] _eggLines = new[]
    {
        "     ___",
        "    /   \\",
        "   |’    |",
        "    \\___/"
    };

    // 存储Cat的每一行内容
    private readonly string[] _catLines = new[]
    {
        "                                      _,'|             _.-''``-...___..--;",
        "                                     /_ \\'.      __..-' ,      ,--...--'''",
        "                                   <\\    .`--'''       `     /'",
        "                                    `-';'               ;   ; ;",
        "                            __...--''     ___...--_..'  .;.'",
        "                          (,__....----'''       (,..--''"
    };

    public void PrintSideBySide()
    {
        // 获取两个图形的最大行数,确保所有行都能输出
        int maxLines = Math.Max(_eggLines.Length, _catLines.Length);
        
        for (int i = 0; i < maxLines; i++)
        {
            // 取当前行的Egg内容,超出行数则补空格(对齐Egg的宽度)
            string eggPart = i < _eggLines.Length ? _eggLines[i] : new string(' ', _eggLines[0].Length);
            // 取当前行的Cat内容,超出行数则为空
            string catPart = i < _catLines.Length ? _catLines[i] : string.Empty;
            
            // 拼接并输出一行
            Console.WriteLine($"{eggPart}{catPart}");
        }
    }
}

public class My_Calculation : Program
{
    static void Main(string[] args)
    {
        My_Calculation demo = new My_Calculation();
        demo.PrintSideBySide();

        Console.Read();
    }
}

优化说明

  • 用数组存储每行内容,更易维护和调整对齐细节
  • 通过Math.Max处理行数不一致的情况,避免遗漏图形行
  • 对行数少的图形补空格,保证横向对齐整齐
  • 简化了逻辑结构,去掉了不必要的冗余代码

内容的提问来源于stack exchange,提问作者Mr. Skadoosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 01:15:36