C#学习笔记(一):C#环境搭建与基本语法

本文介绍了如何使用Visual Studio创建C#控制台应用程序,并详细讲解了控制台输入输出操作、可空类型、数组及字符串处理等基本概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备工作

1.网上搜索“visual studio”,我下载的是对应windows的社区版:
在这里插入图片描述

2.下载完成后打开选择“创建新项目”:
在这里插入图片描述

3.选择“控制台应用”:
在这里插入图片描述

4.为新项目命名,设置项目位置:
在这里插入图片描述

5.框架默认是.NET 6.0,直接创建:
在这里插入图片描述

6.创建项目成功后,自动进入编辑器界面。尝试运行程序:
在这里插入图片描述
如图,在控制台打印出了语句:
在这里插入图片描述

语法

Console类

Console类位于命名空间System下,用于C#控制台应用程序下的I/O操作。主要包含以下函数:

输出字符串,不换行:

Console.Write()

输出字符串后换行:

Console.WriteLine()

在输出内容中,格式项采用如下形式:{index[,alignment][:formatString]} 其中index即索引占位符,alignment是对齐方式,formatString是对输出格式的限定。

读取字符串,不换行。

Console.Read()

读取字符串后换行。

Console.ReadLine()

读取下一个按键:

Console.ReadKey()

代码示例:

using System;
namespace HelloWorld
{
    class MyHelloWorld
    {
        static void Main(string[] args)
        {
            Console.Write("Enter your name:");
            String words = "Hello";
            String? name = Console.ReadLine();
            Console.WriteLine("{0},{1}!",words,name);
        }
    }
}

可空类型

在数据类型后加一个‘?’,代表可以赋值为NULL,在变量名后加‘??’,指将该变量视为操作数时,若其为空,视为value。

代码示例:

int a1 = 10;
int? a2 = null;
Console.WriteLine(a1 + (a2??5));

数组

声明数组的语法为:datatype[] arrayName

使用new关键字创建数组:

double[] numList = new double[5]

在创建时初始化:

double[] numList = new double[5] {1,2,3,4,5};

数组长度可以省略:

double[] numList = new double[] {1,2,3,4,5};
通过下标访问数组元素:
numList[0] = 0;

使用foreach便捷的遍历数组:

foreach(double i in numList)
{
	...
}

注意如果直接用数组给数组初始化,新的数组变量只是原来数组的别名,即指向相同内存。

代码示例:

double[] numList = new double[5] {1,2,3,4,5};
numList[0] = 0;
            
double[] numList_2 = numList;
numList_2[1] = 0;
            
foreach (double i in numList) 
{
Console.Write("{0} ",i);
}

执行结果为:
在这里插入图片描述

字符串

字符串的连接:使用“+”连接字符串

字符串的构造:传入char数组构造字符串

Join函数,连接一个字符串数组中的元素:Join(String separator(分隔符),String[] value)

Contains函数,返回表示是否字符串中是否存在某string对象的bool值:Contains(String value)

IndexOf函数,查找某字符或字符串的下标:IndexOf(char value(或String value),int startIndex)

Replace函数,替换所有某指定字符为新的字符:Replace(char oldChar,char newChar),或替换字符串Replace(String oldValue,String newValue)

Split函数,以某分隔符将字符串分片为字符串数组:Split(params char[] separator)

代码示例:

String firstName = "Donald";
String LastName = "Trump";
Console.WriteLine(firstName + " " + LastName);
            
char[] letters = { 'D', 'o', 'n', 'a', 'l', 'd', ' ', 'T', 'r', 'u', 'm', 'p' };
String fullName = new String(letters);
Console.WriteLine(fullName);

String[] myStrings = { "I","Love","You","China" };
Console.WriteLine(String.Join(' ',myStrings));
Console.WriteLine(String.Join(' ', myStrings,1,2));
            
Console.WriteLine(fullName.Contains("Donald"));
Console.WriteLine(fullName.IndexOf('o'));
Console.WriteLine(fullName.Replace('D','d'));

String data = "1,2,3,4,5";
foreach (String a in data.Split(',')) { Console.Write(a+" "); }
            
String dt = DateTime.Now.ToString("g");
Console.WriteLine("\n"+dt);

执行结果为:
在这里插入图片描述
.
.
.

遇到的问题
1.String? name = Console.ReadLine();在这行代码中,刚开始没有将name的类型设置为可空,即String name,但编辑器提醒我不能直接把可能为空的变量转为String,在将变量类型改为可空后问题解决。
2.String的复制函数Copy,在看的网上的教程中提到了该函数,但在实际中发现Copy函数已被弃用。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值