c#
c#
c#基础语法知识
hello world
1
2
3
4
5
6
7
8
9
10
11
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
namespace 用于组织代码,它是类和其他命名空间的容器 注意:每个 C# 语句都以分号 ; 结尾。 文件名末尾添加 “.cs” 打印输出用Console.WriteLine
命令行显示文字 write/writeline
write会显示在一起/writeline会换行显示
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
namespace hello
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
Console.Write("no roacky");
Console.Write("hello roacky");
}
}
}
注释
单行注释// 多行注释/* */
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
namespace hello
{
class Program
{
static void Main(string[] args)
{
//Console.WriteLine("Hello World!"); 这样为单行注释
/*
Console.WriteLine("Hello World!");
Console.Write("no roacky");
Console.Write("hello roacky");
*/
//这样是多行注释
}
}
}
变量
与c++风格一致,但如果不想改变,使用const进行加固
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int //- 存储整数(不带小数点的数字),如 123 或 -123
double //- 存储浮点数,带有小数点,如 19.99 或 -19.99
char //- 存储单个字符,如 'a' 或 'B'。字符值用单引号括起来
string //- 存储文本,如 "Hello World"。字符串值用双引号括起来
bool //- 存储具有两种状态的值:true 或 false
/*
int 4 字节 存储从 -2,147,483,648 到 2,147,483,647 的整数
long 8 字节 存储从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的整数
float 4 字节 存储分数数值。足以存储 6 到 7 位小数
double 8 字节 存储分数数值。足以存储 15 位小数
bool 1 位 存储 true 或 false 值
char 2 字节 存储单个字符/字母,用单引号括起来
string 2 字节/字符 存储一系列字符,用双引号括起来
*/
int a,b,c;
a = b = c = 8;
string s = "123"
s += "456";
Console.WriteLine(s);
读入写法
Console.ReadLine ``` c# Console.WriteLine(“Enter username:”);
// 创建一个字符串变量,并从键盘获取用户输入,将其存储在变量中 string userName = Console.ReadLine();
// 打印变量的值(userName),这将显示输入的值 Console.WriteLine(“Username is: “ + userName);
1
2
3
4
5
6
7
8
9
10
11
12
13
### 逻辑运算符
> 与c++一致
> && 与 || 或 !反
### 算数运算
``` C#
//加入Math
Math.round(a)
Math.abs(a)
Math.max(a,b)
Math.min(a,b)
Math.sqrt(a)
字符串插值
字符串插值是在 C# 版本 6 中引入的。之前的版本会报错。 也可以直接使用 +
1
2
3
4
5
string firstName = "Bill";
string lastName = "Gates";
string name = $"My full name is: {firstName} {lastName}";
Console.WriteLine(name);
My full name is: Bill Gates
访问字符串
1
2
3
4
5
6
7
8
9
10
string myString = "Hello";
Console.WriteLine(myString[0]); // 输出 "H"
//使用 IndexOf() 方法查找字符串中特定字符的索引位置,第一个
Console.WriteLine(myString.IndexOf("e")); // 输出 "1"
//substring
Console.writeline(mystring.substring(1,2))
//从第二个字符开始向后两个,不加,则显示到最后
特殊字符
1
2
//如果出现' 或 " 或 / 加入\
string x = " \' \" \/ "
数组
1
2
3
4
5
6
7
8
9
10
11
12
string[] s = {"1","2"};
s[0]
string[] s = new string[3];
//排序
Array.sort(s)
int[] x = {3,2,1}
Array.sort(x)
Console.write(x.max())
Console.write(x.min())
Console.write(x.sum())
类
在program中显示方法
1
2
3
4
5
6
7
8
9
10
11
static void MyMethod(string fname, int age)
{
Console.WriteLine(fname + "的年龄:" + age);
}
static void Main(string[] args)
{
MyMethod("建平", 36);
MyMethod("建国", 48);
MyMethod("建英", 52);
}
您也可以使用等号 (=) 来设置默认参数值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
static void MyMethod(string country = "China")
{
Console.WriteLine(country);
}
static void Main(string[] args)
{
MyMethod("Sweden");
MyMethod("India");
MyMethod();
MyMethod("USA");
}
//第二种方法
static void MyMethod(string child1, string child2, string child3)
{
Console.WriteLine("最小的孩子是:" + child3);
}
static void Main(string[] args)
{
MyMethod(child3: "Elon", child1: "Bill", child2: "Steve");
}
// Sweden
// India
// China
// USA
继承
在 C# 中,可以从一个类继承字段和方法到另一个类。我们将“继承概念”分为两类: 派生类(子类)- 从另一个类继承的类 基类(父类)- 被继承的类 要从类继承,请使用 : 符号。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
class Vehicle // 基类 (父类)
{
public string brand = "Ford"; // Vehicle 字段
public void honk() // Vehicle 方法
{
Console.WriteLine("Tuut, tuut!");
}
}
class Car : Vehicle // 派生类 (子类)
{
public string modelName = "Mustang"; // Car 字段
}
class Program
{
static void Main(string[] args)
{
// 创建一个 myCar 对象
Car myCar = new Car();
// 在 myCar 对象上调用 honk() 方法(来自 Vehicle 类)
myCar.honk();
// 显示 brand 字段的值(来自 Vehicle 类)和来自 Car 类的 modelName 的值
Console.WriteLine(myCar.brand + " " + myCar.modelName);
}
}
本文由作者按照 CC BY 4.0 进行授权