c# List find()方法返回值的問題說明(返回結(jié)果為對象的指針)
C#中List<T>中泛型T如果是一個對象的話,則利用Find函數(shù)返回的將是這個對象的指針,對其返回對象的屬性進(jìn)行操作,也會影響list中相應(yīng)元素對象的值。驗(yàn)證如下:
1.新建一個Class1類,其含有兩個姓名和分?jǐn)?shù)兩個屬性:
<SPAN style="FONT-SIZE: 18px"> public class Class1
{
public string name{ get; set; }
public int score { get; set; }
}</SPAN>
2.在窗口類中寫入如下代碼,在button1_Click的事件中的右括號處設(shè)置斷點(diǎn)。
<SPAN style="FONT-SIZE: 18px"> public Form1()
{
InitializeComponent();
}
Class1 a = new Class1();
Class1 b = new Class1();
List<Class1> l = new List<Class1>();
private void button1_Click(object sender, EventArgs e)
{
string name = "小明";
Class1 c = l.Find(delegate(Class1 p) { return (p.name.Equals(name)); });
c.score = 100;
}
private void Form1_Load(object sender, EventArgs e)
{
a.name = "小明";
a.score = 90;
l.Add(a);
b.name = "小紅";
b.score = 99;
l.Add(b);
}</SPAN>
3.運(yùn)行結(jié)果如下:
由圖可知,想button事件中對對象c的改變,使list中相應(yīng)對象也發(fā)生了改變。故其返回值為對象的引用
相關(guān)文章
C#實(shí)現(xiàn)PDF合并的項(xiàng)目實(shí)踐
有時我們可能會遇到需要的資料或教程被分成了幾部分存放在多個PDF文件中,本文主要介紹了C#實(shí)現(xiàn)PDF合并的項(xiàng)目實(shí)踐,具有一定的參考價值,感興趣的可以了解一下2024-01-01C#實(shí)現(xiàn)文件篩選讀取并翻譯的自動化工具
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)文件篩選及讀取內(nèi)容,并翻譯的自動化工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-03-03C#實(shí)現(xiàn)在底圖上動態(tài)生成文字和圖片
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)在底圖上動態(tài)生成文字和圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05