当前位置: 首页 > news >正文

C#控制台应用程序学习——3.11

一、整型数字计算

        如果我们想执行以下程序:程序提示用户输入一个数字并输出 num + 20 的结果,我们的思维应该是这样的:

using System;

public class Class1
{
	public static void Main(string[] args)
    {
        Console.WriteLine("Enter the first number:");    //提示用户输入数字
        num = Console.ReadLine();    //读取数字
        Console.WriteLine(num + 20);    //输出数字num + 20

        Console.ReadKey();
    }
}

        我们会收到以下报错:

        1、CS0103: The name 'num' does not exist in the current context.  这是因为 num 变量没有声明。Console.ReadLine() 返回的是字符串类型,需要先声明一个变量来存储输入的值。

        2、CS0019: Operator '+' cannot be applied to operands of type 'string' and 'int'.  这是因为Console.ReadLine() 返回的是字符串类型,而 20 是整数类型。你不能直接将字符串和整数相加,需要先将字符串转换为整数。

        所以,既然我们想要的是整型数字相加的结果,那么我们首先可以:

        1、声明一个变量存储输入的字符串;

        2、将用户输入的字符串转换为整数;

        3、将整数 + 20 并输出。代码如下:

using System;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter the first number:");
            string str = Console.ReadLine();    // 读取用户输入的字符串
            int num = int.Parse(str);    // 将用户输入的字符串转换为整数
            int ret = num + 20;
            Console.WriteLine(ret);
            Console.ReadKey();
        }
    }
}

        我们可以尝试输入20,程序会顺利的输出40。但是这里我们还需补充一个函数知识:Parse() 

二、Parse() 函数

       1、Parse()的主要作用是将字符串解析为指定的数据类型,常见的有:int.Parse()double.Parse()DateTime.Parse(),分别对应整数、浮点数、日期等数据类型的转换。

        2、Parse() 要求输入的字符串必须完全符合目标数据类型的格式,否则会抛出异常。例如,int.Parse("abc") 会抛出 FormatException,因为 "abc" 不是有效的整数。

        3、如果输入的字符串无法解析为目标类型,Parse() 会抛出异常。常见的异常包括: 

     FormatException:字符串格式不正确。

     ArgumentNullException:输入的字符串为 null

     OverflowException:字符串表示的数值超出目标类型的范围(例如,int.Parse("99999999999999999999"))。

        4、TryParse() 是 Parse() 的安全版本,它不会抛出异常,而是返回一个布尔值表示解析是否成功。如果解析成功,结果会存储在输出参数中。如果输入可能无效,建议使用 TryParse(),因为它更安全且不会抛出异常。

三、字符串拼接

        如果我们在原有函数基础上不想进行整型数字的计算了,而是就像让它完成字符串的拼接,我们要怎么做呢?

        首先,因为无需整型,所以我们不需要 int() 函数定义我们输入的字符串,但是数字 20 是整型,这个时候我们必须将 20 转换为字符串,也就是说,我们最终的结果应该为“你输入的字符串20”,那我们C#在整型转换成字符串也有类似Parse()的函数,ToString()

using System;

namespace Text2
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter the first number:");
            string str = Console.ReadLine();    // 读取用户输入的字符串
            string num = str + 20.ToString();    // 将用户输入的字符串与字符串 "20" 进行拼接
            Console.WriteLine(num);    //输出拼接后的字符串

            Console.ReadKey();
        }
    }
}

​

        经过调整以后,我们输入20,可以得到程序输出 2020,说明我们的字符串拼接成功。

相关文章:

  • Spring Cloud之远程调用OpenFeign
  • 【Linux】信号
  • 图片查看器:用PyQt5实现本地图片预览工具
  • 使用AOP + Prometheus + node-exporter + grafana 实现Java系统的接口监控
  • 【自动化】Automa网页自动化之路
  • ⭐算法OJ⭐链表排序【归并排序】(C++/JavaScript 实现)
  • ChatGPT辅助学术写作有哪些挑战?怎么解决?
  • 11 应用层的域名知识点
  • Application.OnTime如何引用带参数的过程
  • 【Hive】Hive安装
  • 网络安全基础与应用习题 网络安全基础答案
  • 解决电脑问题(7)——软件问题
  • Android中使用Glide加载图片闪烁问题
  • Transformer原理硬核解析:Self-Attention与位置编码
  • 算法优选系列(1.双指针_下)
  • Python Flask 构建REST API 简介
  • Linux 进程信号
  • 文件包含漏洞第一关
  • llvm数据流分析
  • 【数据结构】2算法及分析
  • 10家A股农商行去年年报:瑞丰银行营收增速领跑,常熟银行等4家净利增速超11%
  • 戴紫薇评《不像说母语者》丨后殖民语境下的母语追寻
  • 莫斯科一机场实施临时限制措施
  • 9米长林肯车开进安徽“皖南川藏线”致拥堵数小时,车主回应争议称配合调查
  • 几天洗一次头发最好?终于有答案了...
  • 国铁集团:5月1日全国铁路预计发送旅客2250万人次