c# 中 ->的含义及示例
时间: 2024-03-13 09:42:48 浏览: 68
在C#中,->是成员访问运算符,用于访问结构体或类的成员,其中左侧操作数是一个指向结构体或类的指针,右侧操作数是要访问的成员名。->运算符通常用于C#中的非托管代码,因为非托管代码经常使用指针来访问数据。
以下是一个示例:
```
unsafe struct Person
{
public int Age;
public string Name;
}
// 创建一个Person结构体对象
Person person = new Person { Age = 30, Name = "Tom" };
// 使用指针访问Person结构体对象的成员
Person* p = &person;
int age = p->Age; // age的值为30
string name = p->Name; // name的值为"Tom"
```
在上面的示例中,我们定义了一个Person结构体,其中包含Age和Name两个成员。接着,我们创建了一个Person结构体对象,并使用指针p访问其成员。通过使用->运算符,可以方便地访问结构体对象的成员。注意,在使用->运算符时,需要在代码中启用unsafe代码块。
相关问题
C# 中 <<的含义及示例
在C#中,<<是左移位运算符,用于将一个二进制数向左移动指定的位数,右侧用0填充。其语法如下:
```
result = value << shift;
```
其中,value是要移位的数,shift是要移动的位数,result是移位后的结果。
例如,将整数5向左移动2位,代码如下:
```
int result = 5 << 2; // result的值为20
```
这里,5的二进制表示是101,将其向左移动2位,变成10100,即20。
另一个示例,将一个无符号整数的最高位设置为1,代码如下:
```
uint value = 0x0F; // 二进制表示为00001111
value = value << 1; // 左移一位,变成00111100
value = value | 0x80; // 将最高位置为1,变成10011100
```
这里,先将value向左移动一位,然后使用按位或运算符将最高位置为1,得到最终结果10011100。
阅读全文