C# 这个语法int*是什么意思?

C# 这个语法int*是什么意思?,c#,declaration,value-type,C#,Declaration,Value Type,我发现在某些地方,变量声明像private int*myint; 我不太清楚这个语法中的*字符到底做了什么, 有人能解释一下为什么在变量声明中这个*字符与数据类型一起使用吗 它声明一个指向整数的指针 有关更深入的解释,请参见示例。int是一种值类型。int*是一个。完全不同的概念 如果您没有使用不安全的代码,则不需要使用指针类型。它会创建指针变量。表示变量指向内存中的位置 int*声明指向int类型的指针。C支持不安全上下文中的指针。我们可以用两种不同的方式使用不安全关键字。它可以用作方法、属性

我发现在某些地方,变量声明像private int*myint; 我不太清楚这个语法中的*字符到底做了什么,
有人能解释一下为什么在变量声明中这个*字符与数据类型一起使用吗

它声明一个指向整数的指针

有关更深入的解释,请参见示例。

int是一种值类型。int*是一个。完全不同的概念


如果您没有使用不安全的代码,则不需要使用指针类型。

它会创建指针变量。表示变量指向内存中的位置

int*声明指向int类型的指针。C支持不安全上下文中的指针。我们可以用两种不同的方式使用不安全关键字。它可以用作方法、属性和构造函数等的修饰符。例如:

using System;
class MyClass
{
   public unsafe void Method()
   {
      int x = 10;
      int y = 20;
      int *ptr1 = &x;
      int *ptr2 = &y;
      Console.WriteLine((int)ptr1);
      Console.WriteLine((int)ptr2);
      Console.WriteLine(*ptr1);
      Console.WriteLine(*ptr2);
   }
}
class MyClient
{
   public static void Main()
   {
      MyClass mc = new MyClass();
      mc.Method();
   }
} 
关键字unsafe还可用于将一组语句标记为不安全,如下所示:

using System;
class MyClass
{
    public void Method()
    {
    unsafe
    {
        int x = 10;
        int y = 20;
        int *ptr1 = &x;
        int *ptr2 = &y;
        Console.WriteLine((int)ptr1);
        Console.WriteLine((int)ptr2);
        Console.WriteLine(*ptr1);
        Console.WriteLine(*ptr2);
    }
    }
}
class MyClient
{
    public static void Main()
    {
        MyClass mc = new MyClass();
        mc.Method();
    }
}

引用:

它表示指向变量的指针。下面是一个通过指针获取和更新变量的示例

public class Program
{
    public static unsafe void Main(string[] args)
    {
        int foo = 10;
        int* fooPointer = &foo; //get the pointer to foo
        Console.WriteLine(foo); //here we can see foo is 10

        *fooPointer = 11; //update foo through the pointer
        Console.WriteLine(foo); //now foo is 11
    }
}

感谢你提供的代码示例,我会将你的答案标记为答案,并会给你一个提示。我很高兴这对你有所帮助。谢谢: