c# List find()方法返回值的問題說明(返回結(jié)果為對象的指針)
C#中List<T>中泛型T如果是一個對象的話,則利用Find函數(shù)返回的將是這個對象的指針,對其返回對象的屬性進(jìn)行操作,也會影響list中相應(yīng)元素對象的值。驗證如下:
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è)置斷點。
<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.運行結(jié)果如下:

由圖可知,想button事件中對對象c的改變,使list中相應(yīng)對象也發(fā)生了改變。故其返回值為對象的引用
相關(guān)文章
C#調(diào)用EXE文件實現(xiàn)傳參和獲取返回結(jié)果
本文主要介紹了C#調(diào)用EXE文件實現(xiàn)傳參和獲取返回結(jié)果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
解讀在C#中winform程序響應(yīng)鍵盤事件的詳解
本篇文章是對在C#中winform程序響應(yīng)鍵盤事件的詳細(xì)介紹,需要的朋友參考下2013-05-05
C#導(dǎo)出pdf的實現(xiàn)方法(瀏覽器不預(yù)覽直接下載)
這篇文章主要給大家介紹了關(guān)于C#導(dǎo)出pdf的實現(xiàn)方法,實現(xiàn)后瀏覽器不預(yù)覽就可以直接下載,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12

