文章

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 进行授权