csharp:变量

这是本文档旧的修订版!


<markdown> # 变量作用域使用范围

一个类里面定义的变量不能在该类之外使用

除非使用静态修饰[变量的修饰符、默认私有]

# 变量类型 ## 类型种类 </markdown>

<markdown> - 值类型:值存在栈上

- 引用类型:值存在堆上

- 指针类型:需打开安全模式

## 值类型范围 </markdown> <markdown> ### 浮点数类型注意

</markdown><markdown>

浮点数后没有f默认为double 类型 float不能定义

</markdown><markdown>

## 引用类型

</markdown><markdown>

## 引用类型的理解1

区别:

1:创建的值类型存在栈里、

2:创建的引用类型是对象存在栈、存在值是指向堆里、

</markdown><markdown>

</markdown><markdown>

总结:使用值类型时对一个变量的修改不会影响其他的值、

而使用引用类型时、你对一个引用类型变量的值进行修改、会影响到与它相同引用的其他变量的值、

## 引用类型的理解2

考虑以下打印的值

```csharp class ceshi {

public string name { get; set; }
public int age { get; set; }

} static class tes {

public static void fangcon()
{
   ceshi Stime1 = new ceshi() { name = "A", age = 25 };
   ceshi Stime2 = new ceshi() { name = "B", age = 30 };
   int age = Stime1.age;
   Stime1.age = 35 ;
   ceshi Stime3 = Stime2;
   Stime2.name = "C";
   Console.WriteLine("Stime1 age 的值  :" + Stime1.age);
   Console.WriteLine("局部变量 age 的值  :" + age);
   Console.WriteLine("Stime2 age 的值  :" + Stime2.name);
   Console.WriteLine("Stime3 age 的值  :" + Stime3.name);
 } 

}

```

总结:使用值类型时对一个变量的修改不会影响其他的值、

   
    而使用引用类型时、你对一个引用类型变量的值进行修改、会影响到与它相同引用的其他变量的值、

### 引用类型、通用类型object

</markdown><markdown>

``` object num1 = 3.14; object num2 = “工控机”; object num3 = 145; ```

### 类的引用与绑定理解

使用fuka对象就等于使用zhuka对象成员

</markdown><markdown>

### 指针类型

## 自定义变量类型[枚举enum]

### 简介

枚举里定义的成员变量为 整型常亮

使用定义枚举变量时、必须为它赋一个枚举内部值、

枚举可以当做参数来传递

</markdown><markdown>

### 使用步骤

1:创建枚举类型、写出包含的成员变量

2:用创建枚举类型定义变量、此时该变量拥有枚举内的成员

### 枚举案例1

枚举是一种值类型,它由一组命名的常数组成。这些常数被称为枚举成员。枚举提供了一种方便的方式来定义和使用一组相关的常量值。

创建枚举类型 ```csharp public enum DaysOfWeek { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } ``` 定义了一个名为`DaysOfWeek`的枚举,包含了一周中的每一天。 可以像使用其他数据类型一样使用这个枚举: 定义枚举类型变量并赋值[赋内部的值、自定义]

```csharp DaysOfWeek today = DaysOfWeek.Monday;

if (today == DaysOfWeek.Saturday || today == DaysOfWeek.Sunday) {

  Console.WriteLine("It's weekend!");

} else {

  Console.WriteLine("It's a weekday.");

} ```

在这个示例中将`today`变量设置为`DaysOfWeek.Monday`,然后使用条件语句检查今天是否是周末。

### 枚举案例2

假设有一个名为`Operations`的枚举,用于表示不同的数学运算:

```csharp public enum Operations {

  Add,
  Subtract,
  Multiply,
  Divide

} ```

我们可以使用这个枚举来定义一个函数,该函数根据传入的操作执行相应的数学运算:

```csharp 定义一个返回值是double 、参数1与2为double 类型、与参数3为枚举类型的静态函数 public static double PerformOperation(double num1, double num2, Operations operation) switch (operation) { case Operations.Add: return num1 + num2; case Operations.Subtract: return num1 - num2; case Operations.Multiply: return num1 * num2; case Operations.Divide: if (num2 != 0) return num1 / num2; else throw new ArgumentException(“Cannot divide by zero.”); default: throw new ArgumentException(“Invalid operation.”); } } ``` 在这个示例中,我们定义了一个名为`PerformOperation`的函数,它接受两个数字和一个操作作为参数。然后,根据传入的操作,函数执行相应的数学运算并返回结果。如果传入的操作无效或除数为零,则抛出异常。 ## 结构体[struct ] ### 简介 理解为一个新的数据类型 </markdown><markdown> ```csharp struct Axis 轴结构体

      {
          public string Axis_num { get; set; } //轴号
          public string Jog_Z { get; set; };//轴号Jog_+
          public string Jog_F { get; set; };//轴号Jog_-
          public double Vosti { get; set; };//轴速度
          public double Add_Vosti { get; set; };//轴加速度
          public double Add_Vosti_time { get; set; };//轴加速度时间
      }

```

## 结构体与枚举的区别

1. 枚举里定义的成员变量为整型常量、是一种描述性的词、 2. 结构体是一种重新规划的类型集合群、

</markdow n>

该主题尚不存在

您访问的页面并不存在。如果允许,您可以使用创建该页面按钮来创建它。

  • csharp/变量.1763630366.txt.gz
  • 最后更改: 2025/11/20 17:19
  • 张叶安