c#传值
时间: 2023-07-10 12:08:20 浏览: 97
在 C# 中,可以通过以下方式传递值:
1. 值类型传递:将值类型的数据作为参数传递给方法时,将会复制该值,并将其作为参数的一部分传递给该方法。这意味着,在方法内部对该值的任何更改都不会影响到原始值。
例如:
```
public void Increment(int value)
{
value++;
}
int number = 5;
Increment(number);
Console.WriteLine(number); // 输出 5
```
2. 引用类型传递:将引用类型的数据作为参数传递给方法时,将会复制该引用,而不是该对象的实际数据。这意味着,在方法内部对该对象的任何更改都会影响到原始对象。
例如:
```
public void ChangeName(Person person)
{
person.Name = "John";
}
Person p = new Person("Alice");
ChangeName(p);
Console.WriteLine(p.Name); // 输出 John
```
需要注意的是,C# 中的字符串是引用类型。因此,如果传递一个字符串给方法,在方法内部对该字符串进行更改将会影响到原始字符串。
相关问题
C# dictionary传值
在C#中,Dictionary是一种用于存储键值对的数据结构。要传递Dictionary作为参数,可以直接将其作为参数类型声明。当传递Dictionary作为参数时,传递的是引用,而不是传值。这意味着对于传递的Dictionary对象的任何更改都会影响到原始对象。
以下是一个示例,演示如何传递Dictionary作为参数:
```csharp
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
Dictionary<string, int> myDictionary = new Dictionary<string, int>();
myDictionary.Add("apple", 1);
myDictionary.Add("banana", 2);
PrintDictionary(myDictionary);
Console.ReadLine();
}
static void PrintDictionary(Dictionary<string, int> dict)
{
foreach (var item in dict)
{
Console.WriteLine(item.Key + ": " + item.Value);
}
}
}
```
输出结果:
```
apple: 1
banana: 2
```
在这个示例中,我们在Main方法中创建了一个Dictionary,并将其作为参数传递给PrintDictionary方法。PrintDictionary方法会遍历并打印Dictionary中的每个键值对。
阅读全文