C# REF关键字
2021-01-05 09:28
标签:line 副本 示例 新手 传递 默认 value mic 传值 之前接手老项目的时候有遇到一些的方法参数中使用了ref关键字加在传参的参数前面的情况。对于新手,这里介绍和讲解一下ref的用法和实际效果。 结果 C# REF关键字 标签:line 副本 示例 新手 传递 默认 value mic 传值 原文地址:https://www.cnblogs.com/qiu18359243869/p/13184156.html
值类型对象使用ref参数示例
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
static void Main(string[] args)
{
int testInt = 10;
Console.WriteLine(testInt);
DoRef(ref testInt);
Console.WriteLine(testInt);
DoNotRef(testInt);
Console.WriteLine(testInt);
Console.ReadLine();
}
public static void DoRef(ref int txt)
{
txt = 10000000;
}
public static void DoNotRef(int txt)
{
txt = 55555555;
}
}string类型对象使用ref参数示例
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
static void Main(string[] args)
{
string testValue = "origin";
Console.WriteLine(testValue);
UseRef(ref testValue);
Console.WriteLine(testValue);
NotUseRef(testValue);
Console.WriteLine(testValue);
Console.ReadLine();
}
public static void UseRef(ref string txt)
{
txt = "ref txt";
}
public static void NotUseRef(string txt)
{
txt = "not ref txt";
}
}类对象使用ref传参示例
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
static void Main(string[] args)
{
TestModel t0 = new TestModel()
{
Text = "test"
};
Console.WriteLine(t0.Text);
UseRef(ref t0);
Console.WriteLine(t0.Text);
NotUseRef(t0);
Console.WriteLine(t0.Text);
Console.ReadLine();
}
public static void UseRef(ref TestModel tModel)
{
tModel.Text = "use ref";
}
public static void NotUseRef(TestModel tModel)
{
tModel.Text = "not use ref";
}
}
public class TestModel
{
public string Text { get; set; }
}