亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C# 基础:输入输出核心技巧完全指南

C# 基础:输入输出核心技巧完全指南

本指南带你掌握 C# 核心输入输出技术,学会可靠地读取用户数据并显示结果。

C# 输出

向控制台写入数据,C# 提供两个主要方法:

System.Console.WriteLine()
System.Console.Write()

其中 System 是命名空间,Console 是该命名空间下的类,WriteLine 和 Write 是其方法。

示例 1:使用 WriteLine() 打印字符串

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            Console.WriteLine("C# is cool");
        }
    }
}

运行结果:

C# is cool

WriteLine() 与 Write() 的区别

WriteLine() 输出文本后换行,而 Write() 输出文本不换行。

示例 2:WriteLine() 与 Write() 对比

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            Console.WriteLine("Prints on ");
            Console.WriteLine("New line");
            Console.Write("Prints on ");
            Console.Write("Same line");
        }
    }
}

输出:

Prints on New line Prints on Same line

打印变量与字面量

WriteLine() 和 Write() 都可直接显示变量和字面量。

示例 3:变量与字面量输出

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int value = 10; // 变量
            Console.WriteLine(value);
            Console.WriteLine(50.05); // 字面量
        }
    }
}

结果:

10 50.05

使用 + 运算符拼接字符串

输出时可用 + 运算符连接字符串。

示例 4:拼接输出

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int val = 55;
            Console.WriteLine("Hello " + "World");
            Console.WriteLine("Value = " + val);
        }
    }
}

结果:

Hello World Value = 55

格式化字符串 —— 更优雅的方式

格式化字符串允许嵌入占位符,运行时替换,提升可读性并减少错误。

例如,不写:

Console.WriteLine("Value = " + val);

而改用:

Console.WriteLine("Value = {0}", val);

此处 {0} 是 val 的占位符。多个变量可用更多占位符。

示例 5:字符串格式化

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int firstNumber = 5, secondNumber = 10, result;
            result = firstNumber + secondNumber;
            Console.WriteLine("{0} + {1} = {2}", firstNumber, secondNumber, result);
        }
    }
}

输出:

5 + 10 = 15

此法比手动拼接更清晰、不易出错。详见 C# 字符串格式化。


C# 输入

获取用户输入最直接的方法是 Console.ReadLine()。若需更细粒度输入,也可用 Read() 和 ReadKey()。

示例 6:读取用户输入的字符串

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            string testString;
            Console.Write("Enter a string - ");
            testString = Console.ReadLine();
            Console.WriteLine("You entered '{0}'", testString);
        }
    }
}

输出:

Enter a string - Hello World You entered 'Hello World'

理解 ReadLine()、Read() 与 ReadKey()

更多细节见 StackOverflow 讨论 “Difference between Console.Read() and Console.ReadLine?”。


示例 7:演示 Read() 与 ReadKey()

using System;
namespace Sample {
    class Test {
        public static void Main(string[] args) {
            int userInput;
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
            Console.WriteLine();
            Console.Write("Input using Read() - ");
            userInput = Console.Read();
            Console.WriteLine("Ascii Value = {0}", userInput);
        }
    }
}

输出:

Press any key to continue... x Input using Read() - Learning C# Ascii Value = 76

ReadKey() 即时显示按键,而 Read() 读取整行但仅返回首字符 ASCII 码(此处 76 对应 'L')。


读取数值类型

字符串可直接读取,数值类型需转换。Convert 类提供简便方法。

示例 8:将用户输入转为数值

using System;
namespace UserInput {
    class MyClass {
        public static void Main(string[] args) {
            string userInput;
            int intVal;
            double doubleVal;
            Console.Write("Enter integer value: ");
            userInput = Console.ReadLine();
            intVal = Convert.ToInt32(userInput);
            Console.WriteLine("You entered {0}", intVal);
            Console.Write("Enter double value: ");
            userInput = Console.ReadLine();
            doubleVal = Convert.ToDouble(userInput);
            Console.WriteLine("You entered {0}", doubleVal);
        }
    }
}

结果:

Enter integer value: 101 You entered 101 Enter double value: 59.412 You entered 59.412

Convert.ToInt32() 和 ToDouble() 将输入字符串转为目标数值类型。完整转换方法列表见 .NET 文档。

更多数值输入策略参考 从用户输入读取整数。

C语言

  1. 树莓派与 Python 构建远程温度传感器:分步实战指南
  2. 树莓派用 MCP3008 读取模拟传感器:接线、SPI 配置与 Python 示例
  3. Nucleus SE邮箱:配置与使用实战指南
  4. Nucleus SE信号量:概览、配置与API要点
  5. Nucleus SE队列:介绍与核心服务调用
  6. 拓展云疆界:新可用区、容器与多云策略
  7. Cloud Linux如何提升共享主机的安全性、稳定性与性能
  8. 掌握 C++ 输入输出:cin/cou 完整实战指南
  9. C 语言输入输出(I/O)精通:scanf() 与 printf() 详解
  10. C++ 流精通:cout、cin、cerr、clog 实战指南
  11. 精通Python输入输出与模块导入:实战指南
  12. 精通 Java 输入输出:打印、读取与格式化数据