C#——特殊语法

简介: C#——特殊语法

var隐式类型

var是一种特殊的变量类型,它可以用来表示任意类型的变量。

要注意的是:

1.var不能作为类的成员只能用于临时变量申明时,也就是一般写在函数语句块中

2.var必须初始化

var i = 5;
var s = “123";
var array = new int[] { 1,2,3,4 };
var list = new Listcint>();


设置对象初始值

申明对象时,可以通过直接写大括号的形式初始化公共成员变是和属性

Person p = new Person( 106){ sex = true,Age = 18,Name = "张三"};
Person p2 = new Person( 200){ Age = 18 };


设置集合初始值

申明集合对象时,也可以通过大括号直接初始化内部属性

int[] array2 = new int[] { 1,2,3,4,5 };
List<int> listInt = new List<int>( { 1,2,3,4,5,6 };
List<person> 1.istPerson = new List<person>()
{
    new Person(28e) ,
    new Person(180){Age = 10},
    new Person(1){sex = true,Name ="张三"}
};
Dictionary<int,string> dic = new Dictionary<int,string>()
{
    { 1,"123"},
    { 2,"222"}
};


匿名类型

var变量可以申明为自定义的匿名类型

var v = new i age = 10,money = 11,name = "小明";
console.writeLine(v.age);
Console.writeLine(v.name);


可空类型

1.值类型是不能赋值为空的

int c = null;

2.申明时在值类型后面加?可以赋值为空

int?c= null;

3.判断是否为空

if( c.Hasvalue )
{
    console.writeLine(c);
    Console.writeLine(c.value);
}

4.安全获取可空类型值

int? value = null;

4-1.如果为空默认返回值类型的默认值

Console.writeLine(value.GetvalueorDefault());

4-2.也可以指定一个默认值

Console.writeLine(value.GetvalueorDefault(100));


空合并操作符

空合并操作符??

左边值??右边值

如果左边值为null就返回右边值,否则返回左边值,其实只要是可以为null的类型都能用。

int? intv = null;
//int intI = intv == null ? 100 : intv.value;
int inti = intv ??100;
console.writeLine(intI);
string str = null;
str = str ?? "hahah";
Console.writeLine(str);


内插字符串

关键符号:$

用$来构造字符串,让字符串中可以拼接变量

string name ="张三";
int age = 18;
Console.writeLine($"好好学习,{name},年龄:{age}");


单句逻辑简略写法

当循环或者if语句中只有一句代码时大括号可以省略

if (true)
    Console.writeLine("123123");
for (int j=0; j<10;j++)
    Console.writeLine(j);
while (true)
    console.writeLine("123123");


目录
相关文章
|
3月前
|
存储 开发框架 .NET
【C#】C# 基础语法与游戏开发
【1月更文挑战第21天】【C#】C# 基础语法与游戏开发
|
5月前
|
C#
C#的基本语法结构学习案例详解
C#的基本语法结构学习案例详解
27 0
|
1月前
|
C#
C#语法快速热身
C#语法快速热身
7 0
|
1月前
|
存储 C# 开发者
C#基础语法
C#基础语法
11 0
|
1月前
|
开发框架 安全 .NET
C# .NET面试系列一:基础语法
<h2>基础语法 #### 1. 字符串中 string str = null 和 string str = "" 和 string str = string.Empty 的区别? string str=null: ```c# 这表示字符串变量str被初始化为null,即它不引用任何对象。这与空字符串是不同的,因为空字符串是一个具有零长度的字符串对象,不会分配内存空间 ``` string.Empty: ```c# 这表示字符串变量str被初始化为空字符串,即一个具有零长度的字符串对象。这与null是不同的,因为str引用了一个空字符串对象 ``` string str="" :
64 1
|
3月前
|
存储 C#
C#基础语法(类和对象)
C#基础语法(类和对象)
20 2
|
3月前
|
存储 C#
C#基础语法(数组和函数)
C#基础语法(数组和函数)
17 1
|
3月前
|
C#
C#基础语法(判断和循环)
C#基础语法(判断和循环)
23 1
|
3月前
|
Java 程序员 C#
C# 介绍、应用领域、入门、语法、输出和注释详解
C#(发音为“C-Sharp”)是一种由 Microsoft 创建的面向对象的编程语言,运行在 .NET Framework 上。源于 C 家族,与流行的语言如 C++ 和 Java 相近。首个版本发布于 2002 年,而最新版本,C# 12,于 2023 年 11 月发布
68 0
|
3月前
|
SQL 开发框架 .NET
C#进阶-LINQ表达式基础语法
本篇文章我们将演示LINQ扩展包的基础语法,以Select查询、Count计数、Average平均值、OrderBy排序函数为例,目前LINQ支持两种语法,我会在每个案例前先用大家熟知的SQL语句表达,再在后面用C#的两种LINQ语法分别实现。LINQ语法第一次接触难免感到陌生,最好的学习方式就是在项目中多去使用,相信会有很多感悟。
51 0