csharp:变量

这是本文档旧的修订版!


变量作用域使用范围

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

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

变量类型

  • 值类型:值存在栈上
  • 引用类型:值存在堆上
  • 指针类型:需打开安全模式

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

区别:

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

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

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

考虑以下打印的值

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 num1 = 3.14;
object num2 = "工控机";
object num3 = 145;

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

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

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

枚举可以当做参数来传递

  1. 1:创建枚举类型、写出包含的成员变量
  2. 2:用创建枚举类型定义变量、此时该变量拥有枚举内的成员

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

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

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,然后使用条件语句检查今天是否是周末。

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

public enum Operations
{
    Add,
    Subtract,
    Multiply,
    Divide
}

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

//定义一个返回值是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 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. 1. 枚举里定义的成员变量为整型常量、是一种描述性的词、
  2. 2. 结构体是一种重新规划的类型集合群、

该主题尚不存在

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

  • csharp/变量.1763686654.txt.gz
  • 最后更改: 2025/11/21 08:57
  • 张叶安