飞道的博客

(C#) 精简 C# 入门(一)

273人阅读  评论(0)

最近在做一些需要用到 C# 开发的项目,许久未碰有些生疏,因此决定把语言的基础内容先都快速过一遍。为方便查阅,挑选最精简的部分整理于该博客。

【说明】

  1. 本系列的目标是整理出十个左右的博客(传送门),其中每个博客大概包含 10 个左右的非常简短的 Section,适合快速入门。目前更新到:精简 C# 入门(三)
  2. 本系列不适用于完全的编程初学者(未接触任何计算机语言),这一类读者建议仔细学习【参考资料】中的视频资源

【参考资料】
1.b站:【01_C#入门到精通】新手强烈推荐:C#开发课程,一整套课程

#1 创建项目

使用平台:Visual Studio 2019

创建项目页面:选择 控制台应用 (.NET Framework)

创建完成后的初始页面
区域1:引用区,引用 命名空间
区域2:代码区,由大到小分别为 命名空间 > > 方法,这三者分别对应区域 2, 2.1, 2.1.1

#2 两行代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
   
    class Program
    {
   
        static void Main(string[] args)
        {
   
            Console.WriteLine("Hello World");
            Console.ReadKey(); // 获取用户按下的下一个字符
        }
    }
}

第二行代码 Console.ReadKey(); 功能见注释,目的在于暂停程序,防止控制台闪退(如果不添加,控制台在输出 “Hello World” 后将马上退出)

运行:单击运行按钮 & F5

错误检查:点击生成解决方案 & F6
在运行项目之前,可以先通过生成解决方案来检查潜在错误,效果如图:

#3 VS Basic

字体:建议使用 Consolas

工具 → \to 选项 → \to 字体和颜色

更改启动项目
在默认情况下,不管解决方案中含有几个项,默认情况下在点击启动 & F5 时只会运行第一个项,例如下图中的 ConsoleApp2。

若想要运行其他项,例如上图中的 ConsoleApp3,则需进行一些设置:右键单击解决方案 → \to 属性 → \to 更改启动项目为 “当前选定内容”

项的卸载
当解决方案含有多个项目时,往往不想加载某些项目但同时也更不想删除,此时可以将其卸载

#4 注释符

单行注释 //

// 这是单行注释

多行注释 /**/

/* 这是
多行注释 */

快捷注释 Ctrl + K + C
选中目标区域后按下 Ctrl + K + C (取消注释为 Ctrl + K + U

文档注释 ///
在命名空间、类、方法前输入 ///,会自动生成一个文档注释模板,例如:

/// <summary>
/// 
/// </summary>
/// <param name="n1"></param>
/// <param name="n2"></param>
/// <returns></returns>
public static int GetMax(int n1, int n2)
{
   
    int n = 1;
    return n1 > n2 ? n1 : n2;
}

填入内容后:

/// <summary>
/// 求两个整数中的较大值
/// </summary>
/// <param name="n1">第一个整数</param>
/// <param name="n2">第二个整数</param>
/// <returns>较大的整数</returns>
public static int GetMax(int n1, int n2)
{
   
    return n1 > n2 ? n1 : n2;
}

#5 VS 的常用快捷键

Ctrl + S 保存
F1 查看文档
Ctrl + K + C 快捷注释(取消注释为 Ctrl + K + U

#region ... # endregion 折叠冗余代码,使整体代码更加简洁,如下图:

  1. 三个大红框分别为:折叠前,添加后,折叠后
  2. 左侧出现的加减符号用于折叠及展开

#6 变量和数据类型(Basic)

int n1 = 1;
double n2 = 3.14;
string name = "小红";
char gender = '女';

bool ifCorrect = true;

一个有趣的例子:

Console.WriteLine(5 + "5");

>>>
"55"

#7 占位符 {}

C# 中的占位符有点类似于 Python 中的 .format,都需要使用 {}。示例:

int a = 1;
int b = 11;
Console.WriteLine("{0}+{1}={2}", a, b, a+b);

>>>
"12"

保留数位:{0:0.00} 表示对第 0 个变量保留两位小数

#8 输出和接收 Write & Read

Write
From Section 2:

Console.WriteLine(); // 输出一个字符串并换行,当字符串为空时,相当于一个换行符 \n
Console.Write();     // 输出但不换行

Read
From Section 2:

Console.ReadKey();   // 读取输入的一个键
Console.ReadLine();  // 读取输入的一个字符串

示例:

Console.WriteLine("请输入你的QQ");
string input = Console.ReadLine();
Console.WriteLine("你的QQ为:{0}", input);
Console.ReadKey();

#9 转义符

\n 换行
\t Tab
\b Backspace
\" 表示 ",实现在字符串中显示 "
\\ 表示 \,常用于地址字符串中,例如 "C:\\Users\\Desktop"
@"..." 主要有两个作用:

  1. 取消 \ 的转义作用,例如 @"C:\Users\Desktop"
  2. 将字符串按照原格式输出,例如(删去 @ 则会报错)
Console.WriteLine(@"lala~
yaya~");

>>>
"lala~
yaya~"

#10 运算符

10.1 算数运算符

+, -, *, /, % 加,减,乘,除,取余

运算结果(输出)的数据类型,与输入变量中范围最大的那个相同,例如 int % double = double

10.2 复合运算符

++, --
a++ = a=a+1

++, -- 除了跟在变量后,还可以放在变量前(如 ++a),这是其含义也发生了一定程度上的改变,具体可自行查阅。(作者认为理解掌握 a++ 已经足够了)

+=, -=
a+=5 = a=a+5

当然除此之外还有 *=, /=, %=

10.3 关系运算符

>, <, >=, <=, ==, !=

10.4 逻辑运算符

&&, ||, !,与,或,非

逻辑运算符之间存在优先级差异,并且 &&& 同表示逻辑与但仍有一些不同。但是针对这两点,作者认为是可以忽视它们的:

  1. 在优先级方面,使用括号来体现优先级,例如:
// 由于 || 优先级低于 &&,因此上下两行所表示的含义一致
// good
bool judge = (a > b) || (b > c && c > d);
// bad
bool judge = a > b || b > c && c > d;
  1. 对于使用 && or &,绝大部分情况使用 && 即可,|| 同理

#11 数据类型转换

11.1 隐式类型转换

特点:自动发生
要求:两种类型兼容,且目标类型范围 > 原类型范围,例如 intdouble

int n1 = 3;
int n2 = n1;

11.2 显示类型转换

特点:需要使用特定语法 (目标类型)原变量
要求:两种类型兼容,且目标类型范围 < 原类型范围,例如 doubleint

double n1 = 3.14;
int n2 = (int)n1;

11.3 Convert 强制类型转换

使用 Convert.ToXXX(),例如:

string str = "123";
int n1 = Convert.ToInt32(str);
double n2 = Convert.ToDouble(str);

11.4 Parse, TryParse 强制类型转换

例如使用 int.Parse()string 转换为 int

string str = "123";
int n1 = int.parse(str);

关于 Parse, TryParse 更详细的示例:由于 TryParse 即使转换出错也不会产生报错,因此这两种方法适用于不同的场景


转载:https://blog.csdn.net/weixin_43728138/article/details/115771081
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场