【C# Programming】编程入门:数组、操作符、控制流

这篇具有很好参考价值的文章主要介绍了【C# Programming】编程入门:数组、操作符、控制流。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、数组

1、数组的声明

1.1 一维数组声明:      

1.2 多维数组声明:       

2、数组的实例化和赋值

2.1 数组在声明时通过在花括号中使用以逗号分隔的数据项对数组赋值, 例如:

2.2 如果在声明后赋值,则需要使用new

2.3 C# 也支持将new 作为声明语句的一部分, 例如:

2.4 在new 关键字作为数组赋值的一部分,可以同时在括号内指定数组的大小

2.5 在为数组分配空间时可以不指定初始值。 例如:

2.6 分配数组但不指定初始值仍会初始化每个元素,每个元素都将初始化成默认值  

2.8 类似一维数组,多维数组也能声明的时候初始化 或者仅分配空间, 例如:

2.9 多维数组每一维的大小必须一致,例如下列声明是错误的

2.10 在多维数组中,元素是用每个维上的一个索引来标识的, 例如:

3、交错数组

3.1 交错数组是指数组的数组,它不要求数组的每一维大小一致,但需要为内部的每个数组都创建数组实例。例如:

3.2 交错数组中元素是用每个维上的一个索引来标识的, 例如:

4、获取数组长度和维度

4.1 数组的长度是固定的,不能随便更改,除非重新创建数组。此外,数组越界会抛出异常

4.2 数组的 Length 属性返回数组的长度  

4.3 要获得数组特定维的长度需要使用GetLength() 方法,调用时要指定返回哪一维的长度,还可以使用Rank 成员获取整个数组的维度, 例如:

5、数组方法

数组提供了更多的方法来操纵数组中的元素,例如 Sort, BinarySearch 等:

二、操作符

1、操作符

1.1 操作符通常操作符分为3大类:一元操作符、二元操作符、三元操作符

1.2 一元操作符正负(+/-)。 例:decimal debt = -18125876697430.99M

1.3 二元算术操作符

1.4 加法操作符用于字符串

1.5 加法操作符可用来拼接两个或更多字符

1.6 在算术运算中可以直接操作字符, 例如:

2、浮点数

2.1 比较两个浮点数是否相等时,浮点类型的不准确性可能造成严重的后果

2.2 避免将二进制浮点数用于相等性条件式。要么判断两个值之差是否在容差范围内,要么使用 decimal 类型

2.3 C#中,浮点数0除以0将会得到 “NaN”; 当浮点向上溢出时,将会得到Infinity,向下溢出将会得到 –Infinity

3、复合赋值操作符

3.1 C#中同样支持下列复合赋值操作符:

3.2 前缀操作符和后缀操作符例子:

3.3 常量表达式和常量符号

3.4 常量表达式是指C# 编译时能求值的表达式 

3.5 值为常量表达式的符号称为常量符号。常量符号的值在生命周期内不能被改变。C#中使用 const 声明常量符号  

三、控制流

1、if 语句

1.1 语法形式

1.2 if 语句中的条件称为布尔表达式,不同于C++, C# 要求条件必须是布尔类型

1.3 嵌套if 语句 

2、switch 语句

2.1 语法形式

3、关系操作符

3.1 关系和相等型操作符​编辑

3.2 使用相等操作符例子

4、逻辑布尔操作符

4.1 OR 操作符 (||)      

4.2 AND (&&)操作符      

4.3 XOR (^) 操作符  

4.4 逻辑反(!)操作符      

5、条件及空结合操作符

5.1 条件运算符语法:      

5.2 C# 要求条件运算符的 consequence 和alternative 类型一致,而且在判定类型时不会检查表达式上下文。

5.3 空结合运算符 (??)      (C# 6.0)        expr1  ?? expr2        

5.4 表示如果expr1 不为null,返回expr1的值,否则返回expr2的值。

5.5 空结合运算符 (??) 能组成调用链,

6、null 条件操作符

6.1 在调用值为null的方法时,程序将抛出System.NullReferenceException 异常

6.2 null 条件运算符(C# 6.0) 在调用方法或属性之前检查操作数是否为null,如果为null 则忽略调用直接返回null

6.3 当调用成员返回是一个值类型时,null 条件运算符总是返回该类型可为空版本,

6.4 null条件操作符可以组成调用链。

6.5 null 条件运算符 也可以和索引操作符结合使用

7、位操作符

7.1 移位操作符        

7.2 按位操作符        

8、循环

8.1 while 语法      

8.2 do/while 语法        

8.3 for 循环      

8.4 所有循环的条件必须是布尔表达式

8.5 foreach 循环

8.5.1 foreach 遍历数据项集合,设置循环变量来依次表示每一项,语法形式如下:    

8.5.2 例子:

9、C#预处理指令

10、错误和警告

10.1 C# 允许在代码中插入 #error 和 #warning 指令分别来生成错误和警告信息, 例如:

10.2 C#编译器提供了预处理指令#pragma 来关闭或还原警告    

11、#region

11.1 C# 允许使用#region指令展开或折叠代码区域 ,当这组代码被折叠起来的时候,我们可以看到#region后面的说明文字。  

11.2 #region和#endregion 必须成对使用,两个指令都可以选择在指令后面跟随一个描述性字符

11.3 #region 块不能与 #if块重叠。但是,可以将 #region 块嵌套在 #if 块内,或将 #if 块嵌套在 #region 块内。


一、数组

1、数组的声明

1.1 一维数组声明:      

        T[] 表示T类型元素的数组,元素的索引值范围从0 到 size -1,可以使用下标运算符[]访问数组中元素, 例如:string[] languages

1.2 多维数组声明:       

        T[, …, ]  表示T类型元素的多维数组,数组的维数等于逗号数加1, 例如:int[, ] cells 

2、数组的实例化和赋值

2.1 数组在声明时通过在花括号中使用以逗号分隔的数据项对数组赋值, 例如:
string[] languages={ "C#", "COBOL", "JAVA", "C++"};
2.2 如果在声明后赋值,则需要使用new
string[] languages;
languages = new string[]{ "C#", "COBOL", "JAVA", "C++"};
2.3 C# 也支持将new 作为声明语句的一部分, 例如:
string[] languages= new string[]{ "C#", "COBOL", "JAVA", "C++"};
2.4 在new 关键字作为数组赋值的一部分,可以同时在括号内指定数组的大小
string[] languages= new string[4]{ "C#", "COBOL", "JAVA", "C++"}; 
2.5 在为数组分配空间时可以不指定初始值。 例如:
string[] languages = new string[9];
2.6 分配数组但不指定初始值仍会初始化每个元素,每个元素都将初始化成默认值  
  • 引用类型初始化为null  
  • 数值类型初始化为0  
  • bool 初始化为 false 
  • char 初始化为 \0  
  • 非基础值类型以递归方式初始化,每个字段被初始化为默认值  
2.8 类似一维数组,多维数组也能声明的时候初始化 或者仅分配空间, 例如:
int[,] cells = { {1, 0, 2}, {1, 2, 0}, {1, 2, 1} };
Int[,] arr = int[3,3];
2.9 多维数组每一维的大小必须一致,例如下列声明是错误的
int[,] cells = { {1, 0, 2, 0}, 
                        {1, 2, 0},   
                            {1, 2}, 
                                {1}};
2.10 在多维数组中,元素是用每个维上的一个索引来标识的, 例如:
int[,] cells = { {1, 0, 2}, {1, 2, 0}, {1, 2, 1} };
cells[1, 0] = 1; 

3、交错数组

3.1 交错数组是指数组的数组,它不要求数组的每一维大小一致,但需要为内部的每个数组都创建数组实例。例如:
int[][] cells = {new int[] {1, 0, 2, 0},  
                  new int[] {1, 2, 0},       
                 new int[] {1, 2},            
                  new int[] {1}};
3.2 交错数组中元素是用每个维上的一个索引来标识的, 例如:
int[][] cells = { new int[] {1, 0, 2},  
                  new int[] {1, 2, 0},    
                  new int[] {1, 2, 1}};           
 cells[1][0] = 1;            // ...

4、获取数组长度和维度

4.1 数组的长度是固定的,不能随便更改,除非重新创建数组。此外,数组越界会抛出异常
4.2 数组的 Length 属性返回数组的长度  
  • 对于一维和多维数组,它返回数组中元素的总数  
  • 对于交错数组,它返回最外层数组的元素数
4.3 要获得数组特定维的长度需要使用GetLength() 方法,调用时要指定返回哪一维的长度,还可以使用Rank 成员获取整个数组的维度, 例如:
bool[, ,] cells;  
cells = new bool[2, 3, 3];   
System.Console.WriteLine(cells.GetLength(0));      // Displays 2
System.Console.WriteLine(cells.Rank);      // Displays 3

5、数组方法

数组提供了更多的方法来操纵数组中的元素,例如 Sort, BinarySearch 等:
public static void Main()        
{        
    string[] languages = new string[] { "C#", "COBOL", "Java", "C++", "Visual Basic", "Pascal", "Fortran", "Lisp", "J#" };
    System.Array.Sort(languages);
    string searchString = "COBOL";
    int index = System.Array.BinarySearch(languages, searchString);
    System.Console.WriteLine("The wave of the future, " + $"{ searchString}, is at index {index }.");
    System.Console.WriteLine();
    System.Console.WriteLine($"{"First Element",-20 }\t{"Last Element", -20 }");               
    System.Console.WriteLine($"{"-------------",-20 }\t{"------------",-20 } ");              
    System.Console.WriteLine($"{ languages[0],-20 }\t{ languages[languages.Length - 1],-20 } ");               
    System.Array.Reverse(languages); 
    System.Console.WriteLine($"{ languages[0],-20 }\t{ languages[languages.Length - 1],-20 }");  
    // Note this does not remove all items from the array. Rather it sets each item to the type’s default value.                 
    System.Array.Clear(languages, 0, languages.Length);           
    System.Console.WriteLine($"{ languages[0],-20 }\t{ languages[languages.Length - 1],-20 }");                
    System.Console.WriteLine($"After clearing, the array size is: { languages.Length }");   
}

二、操作符

1、操作符

1.1 操作符通常操作符分为3大类:一元操作符、二元操作符、三元操作符
1.2 一元操作符正负(+/-)。 例:decimal debt = -18125876697430.99M
1.3 二元算术操作符
  • *、 / 和 %  具有最高优先级  
  • + 和 – 具有较低优先级  
  • = 优先级最低
1.4 加法操作符用于字符串
1.5 加法操作符可用来拼接两个或更多字符
public static void Main()       
{           
    short windSpeed = 42; 
    Console.WriteLine("The original Tacoma Bridge in Washington\nwas "   + "brought down by a " + windSpeed + " mile/hour wind.");        
}
1.6 在算术运算中可以直接操作字符, 例如:
public static void Main()      
{            
      int n = '3' + '4';
      char c = (char)n;
      System.Console.WriteLine(c);  // Writes out g.

      int a = '3';
      System.Console.WriteLine($"0x{a:x}");
}

2、浮点数

2.1 比较两个浮点数是否相等时,浮点类型的不准确性可能造成严重的后果
public static void Main()        
{            
       decimal decimalNumber = 4.2M;        
       double doubleNumber1 = 0.1F * 42F;           
       double doubleNumber2 = 0.1D * 42D;          
       float floatNumber = 0.1F * 42F;             
       Console.WriteLine($"{decimalNumber} != {(decimal)doubleNumber1}"); 
       Console.WriteLine($"{(double)decimalNumber} != {doubleNumber1}"); 
       Console.WriteLine($"(float){(float)decimalNumber}M != {floatNumber}F"); 
       Console.WriteLine($"{doubleNumber1} != {(double)floatNumber}"); 
       Console.WriteLine($"{doubleNumber1} != {doubleNumber2}"); 
       Console.WriteLine($"{floatNumber}F != {doubleNumber2}D"); 
       Console.WriteLine($"{(double)4.2F} != {4.2D}"); 
       Console.WriteLine($“{4.2F}F != {4.2D}D");              
}
2.2 避免将二进制浮点数用于相等性条件式。要么判断两个值之差是否在容差范围内,要么使用 decimal 类型
2.3 C#中,浮点数0除以0将会得到 “NaN”; 当浮点向上溢出时,将会得到Infinity,向下溢出将会得到 –Infinity
public static void Main()        
{  
    System.Console.WriteLine(0 / 0);    // Displays: -Infinity           
    System.Console.WriteLine(-1f / 0);        // Displays: Infinity            
    System.Console.WriteLine(3.402823E+38f * 2f);
}

3、复合赋值操作符

3.1 C#中同样支持下列复合赋值操作符:

        *=expr   /=expr   %=expr   +=expr    -=expr     ++expr  expr ++  --expr  expr--  

3.2 前缀操作符和后缀操作符例子:
public static void Main()       
{          
      int x = 123;  
      // Displays 123, 124, 125.       
      Console.WriteLine($"{x++}, {x++}, {x}"); // x now contains the value 125.    
      // Displays 126, 127, 127.          
      Console.WriteLine($"{++x}, {++x}, {x}"); // x now contains the value 127.     
}
3.3 常量表达式和常量符号
3.4 常量表达式是指C# 编译时能求值的表达式 
3.5 值为常量表达式的符号称为常量符号。常量符号的值在生命周期内不能被改变。C#中使用 const 声明常量符号  
public static void Main()     
{   
     const int secondsPerDay = 60 * 60 * 24;     
     const int secondsPerWeek = secondsPerDay * 7;       
     // ...      
}

三、控制流

1、if 语句

1.1 语法形式
if(contidition)
    consequence-statement
else 
    alternative-statement 
1.2 if 语句中的条件称为布尔表达式,不同于C++, C# 要求条件必须是布尔类型
1.3 嵌套if 语句 
public static void Main()
{
    if(input < 0)
        System.Console.WriteLine("Exiting...");
    else if(input < 9)
        System.Console.WriteLine($"Tic-tac-toe has more than {input}" + " maximum turns.");
    else if (input > 9)
        System.Console.WriteLine($"Tic-tac-toe has less than {input}" +  " maximum turns.");
    else
        System.Console.WriteLine("Correct, tic-tac-toe has a maximum " + " of 9 turns.");
}
public static int input { get; set; }

2、switch 语句

2.1 语法形式
switch (expr )
{
    case constant: 
        statements 
    default: 
        statements 
  }

expr的类型决定了switch 的“主导类型”(governing type).允许的主导类型包括:      

  • bool, sbyte, byte, short, ushort, int, uint, long, ulong, char, enum 类型 以及上述类型的可空      
  • 类型和string    

constant: 与主导类型兼容的常量表达

3、关系操作符

3.1 关系和相等型操作符【C# Programming】编程入门:数组、操作符、控制流,C#,c#,学习
3.2 使用相等操作符例子
public static void Main()
{
    if(input == "" || input == "quit")
    {
        Console.WriteLine($"Player {currentPlayer} quit!!");
    }
}
public static string input { get; set; }

4、逻辑布尔操作符

4.1 OR 操作符 (||)      
  • || 对两个表达式求值, 如果其中任一个为true, 就返回true      
  • || 操作符是从左往右求值的,如果左边为true,则右表达式被忽略
4.2 AND (&&)操作符      
  • && 在两个表达式都为true的情况下才返回true    
  • &&操作符也是从左往右求值的,如果左边为false,则右表达式被忽略  
4.3 XOR (^) 操作符  
  • ^操作符在两个表达式值互异的情况下才返回true.  
  • ^操作符总是对两个表达式求值    
4.4 逻辑反(!)操作符      
  • 用于反转一个布尔类型数值,例如:bool valid = false;bool result = !valid;

5、条件及空结合操作符

5.1 条件运算符语法:      
  • condition ? consequence : alternative; 
5.2 C# 要求条件运算符的 consequence 和alternative 类型一致,而且在判定类型时不会检查表达式上下文。
  • 例如:f? “abc” : 123 ; // illegal expr  
5.3 空结合运算符 (??)      (C# 6.0)        expr1  ?? expr2        
5.4 表示如果expr1 不为null,返回expr1的值,否则返回expr2的值。
  • 例如:string file_name = file_name?? “default.txt”;          
5.5 空结合运算符 (??) 能组成调用链,
  • 例如:x ??  y  ?? z;

6、null 条件操作符

6.1 在调用值为null的方法时,程序将抛出System.NullReferenceException 异常
6.2 null 条件运算符(C# 6.0) 在调用方法或属性之前检查操作数是否为null,如果为null 则忽略调用直接返回null
static void Main(string[] args)
{
    if (args?.Length == null)
	System.Console.WriteLine("ERROR: File missing. "+ "Use:\n\tfind.exe file:<filename>");
    else
    {
        if (args[0]?.ToLower().StartsWith("file:")??false)
        {
            string fileName = args[0]?.Remove(0, 5);
            // ...
         }
    }
}
6.3 当调用成员返回是一个值类型时,null 条件运算符总是返回该类型可为空版本,
  • 例如:args?.Length 返回 int ?
6.4 null条件操作符可以组成调用链。

例如:args[0]?.ToLower().StartsWith("file:")

6.5 null 条件运算符 也可以和索引操作符结合使用
public static void Main(string[] args)
{
     // CAUTION: args?.Length not verified.
     string directoryPath = args?[0];
     string searchPattern = args?[1];
     // ...
}

7、位操作符

7.1 移位操作符        
  • 和C++ 一样,C#支持  <<  >>   <<=   >>=  操作符,例如: int x= -7 >>2;  
7.2 按位操作符        
  • C#支持  ~,&  ,| , ^, 及  &= ,|= , ^= 操作符
public static void Main()
{
     const int size = 64;
     ulong value;
     char bit;
     System.Console.Write("Enter an integer: ");
     value = (ulong)long.Parse(System.Console.ReadLine());// Use long.Parse() to support negative numbers  
     ulong mask = 1UL << size - 1;// Set initial mask to 100....
     for(int count = 0; count < size; count++)
     {
         bit = ((mask & value) != 0) ? '1' : '0';
         System.Console.Write(bit);
         mask >>= 1;// Shift mask one location over to the right
     }
     System.Console.WriteLine();
}

8、循环

8.1 while 语法      
while (condition)  
{      
    statement;
}
8.2 do/while 语法        
do
{            
    statement        
}while(condition);
8.3 for 循环      
for (initial; condition; loop) 
{     
    statement;
}  
8.4 所有循环的条件必须是布尔表达式
8.5 foreach 循环
8.5.1 foreach 遍历数据项集合,设置循环变量来依次表示每一项,语法形式如下:    
foreach(type variable in collection)          
{
    statement;
}
  • type:collection每一项的variable 的数据类型,可将类型设置为var
  • variable:只读变量,foreach循环自动将collection中下一项赋给它  
  • collection:多个数据项的表达式,如 数组等
  • Statement : 循环体语句集合  
8.5.2 例子:
public static void Main() // Declares the entry point of the program.
{
    char[] cells = {'1', '2', '3', '4', '5', '6', '7', '8', '9'};
    // Write out the initial available moves
    foreach(char cell in cells)
    {
        if(cell != 'O' && cell != 'X’)
        System.Console.Write($"{ cell } ");
    }
}

9、C#预处理指令

【C# Programming】编程入门:数组、操作符、控制流,C#,c#,学习文章来源地址https://www.toymoban.com/news/detail-669714.html

10、错误和警告

10.1 C# 允许在代码中插入 #error 和 #warning 指令分别来生成错误和警告信息, 例如:
public static void Main()
{
    #warning "Same move allowed multiple times."
}
10.2 C#编译器提供了预处理指令#pragma 来关闭或还原警告    
  • #pragma warning disable 1030       禁用 #warning指令  
  • #pragma warning restore 1030      还原 #warning指令

11、#region

  • C# 允许使用#region指令展开或折叠代码区域 ,当这组代码被折叠起来的时候,我们可以看到#region后面的说明文字。  
  • #region和#endregion 必须成对使用,两个指令都可以选择在指令后面跟随一个描述性字符
  • #region 块不能与 #if块重叠。但是,可以将 #region 块嵌套在 #if 块内,或将 #if 块嵌套在 #region 块内。

到了这里,关于【C# Programming】编程入门:数组、操作符、控制流的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python黑魔法揭秘:超强公共操作符和推导式的编程技巧

    公共操作符和推导式是 Python 编程中的两个精华部分,它们能够大幅简化代码并提高开发效率。 那么今天我带大家深入探索 Python 中的公共操作符和推导式,带您一窥其背后的神奇力量。我们将学习如何使用公共操作符来进行常见的数据操作,例如比较、逻辑运算和成员关系

    2024年02月15日
    浏览(244)
  • “探索C语言操作符的神秘世界:从入门到精通的全方位解析“

    各位少年,我是博主 那一脸阳光 ,今天来分享深度解析C语言操作符,C语言操作符能帮我们解决很多逻辑性的问题,减少很多代码量,就好比数学的各种符号,我们现在深度解剖一下他们。 在追求爱情的道路上,拥有吸引人的外表与内在气质固然重要,它们如同璀璨星辰,

    2024年01月25日
    浏览(38)
  • 10.Python从入门到精通—Python 列表,列表脚本操作符,列表截取,列表函数&方法

    在 Python 中,列表 (List) 是一种序列类型,用于存储一组有序的元素。列表中的元素可以是任何类型,例如数字、字符串、布尔值、函数等。 列表是可变的,可以根据需要添加、删除和修改元素。以下是一些示例代码,演示了 Python 中列表的使用: 创建列表: 访问列表元素:

    2024年03月20日
    浏览(43)
  • 学了那么长时间的编程,C语言的各种操作符都搞不懂?点开这里有详细的介绍—>

    目录 前言 一、原码、反码、补码的基础概念 1.原码 2.反码 3.补码 二、原码、反码、补码的计算方法 1.原码 2.反码 3.补码 三、算术操作符 四、移位操作符 1. 左移操作符 移位规则: 2. 右移操作符 移位规则: (1) 逻辑移位 (2) 算术移位 五、位操作符 1. 按位与运算(AND)

    2024年02月10日
    浏览(30)
  • 【C语言初阶】带你轻松玩转所有常用操作符(1) ——算数操作符,移位操作符,位操作符

    君兮_的个人主页 勤时当勉励 岁月不待人 C/C++ 游戏开发 Hello,这里是君兮_,最近要准备期末复习了,可能更新的就不会那么频繁了,下个星期恢复正常更新。 今天给大家带来的是操作符详解,由于这部分的内容比较多,可能会分成几部分讲,今天带来的是第一部分的内容,废

    2024年02月11日
    浏览(31)
  • 【C# Programming】编程入门:方法和参数

    1、方法的定义         由一系列以执行特定的操作或计算结果语句组成。方法总是和类关联,类型将相关的方法分为一组。 方法名称   形参和实参(parameter argument) 返回值 2、命名空间         一种分类机制,用于组合功能相关的所有类型。命名空间是分级的,级数可

    2024年02月09日
    浏览(28)
  • 【PostgreSQL】函数与操作符-比较函数和操作符

    PostgreSQL中的比较函数和操作符用于比较两个表达式的值。它们的作用是确定表达式的值是否满足某种条件,例如等于、大于、小于等。 比较函数是一个接受两个参数的函数,返回一个布尔值,表示两个参数是否满足某种条件。例如,equal()函数用于判断两个参数是否相等,

    2024年01月17日
    浏览(42)
  • 初始C语言——详细讲解操作符以及操作符的易错点

     第一章 “C“浒传——初识C语言(更适合初学者体质哦!)  第二章 详细认识分支语句和循环语句以及他们的易错点   第三章 初阶C语言——特别详细地介绍函数  第四章 初始C语言——详细地讲解数组的内容以及易错点  第五章  初始C语言——详细讲解操作符以及操

    2024年02月13日
    浏览(42)
  • 【c语言操作符系列1】^(异或操作符)讲解和多种例题详解

    目录 一、^ 是什么(^称为异或) 二、^的规律(特点) 三、可利用^秒杀的常见例题(重点) 1、消失的数字  2、不一样的人生密码 3、交换两个数(不能创建中间变量) 4、找出只出现一个的两个数字 是一种操作符, 针对二进制异或而言的 ,两个数对应的二进制位相同,异或

    2024年02月16日
    浏览(56)
  • Js中.?和??语法(可选链操作符和双问号操作符)

    Tips:为啥起这么一个标题呢,因为我自己当时看代码,看到这个语法的时候就感觉有些遗忘,但是又不知道他叫做什么名字,所以只能直接搜索.?和??这样搜索,哈哈哈相信不少人可能跟我一样,不知道他叫做什么名字嘿嘿。 可选链 操作符( ?. )允许读取位于连接对象链深

    2024年01月21日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包