[英]Get values out of an object into properties of another class
我有一個gridview
INSEE1 Commune
------ -------
10002 AILLEVILLE
10003 BRUN
我有一個返回對象列表的腳本。
List<object> Temp = ASPxGridView_Insee.GetSelectedFieldValues("INSEE1");
我的溫度是我選擇的INSSE1對象的列表。
但是現在我也添加了Commune,所以我的腳本變成了:
List<object> Temp = ASPxGridView_Insee.GetSelectedFieldValues("INSEE1","Commune");
而我的Temp是INSEE1和Commune的對象列表,請參見圖片:
我如何才能加入10002和AILLEVILLE?
我嘗試將其轉換為我的Pers_INSEE類:
public class Pers_InseeZone
{
string _Code_Insee;
public string Code_Insee
{
get { return _Code_Insee; }
set { _Code_Insee = value; }
}
string _Commune;
public string Commune
{
get { return _Commune; }
set { _Commune = value; }
}
}
foreach (var oItem in Temp )
{
Pers_InseeZone o = (Pers_InseeZone)oItem;
}
但我不工作,我無法施展。 我已經這樣嘗試過:
foreach (var oItem in Temp )
{
var myTempArray = oItem as IEnumerable;
foreach (var oItem2 in myTempArray)
{
string res= oItem2.ToString();
....
res = 10002
的值res = 10002
,但是如何獲取AILEVILLE的值?
Temp[0].GetType();
是:
提前致謝
好的,我想是這樣,因此如注釋中所述,每個對象內部都有一個對象數組,因此您需要首先將列表中的每個對象轉換為對象數組: object[]
然后才能訪問每個部分。 這是一個重現您的問題的示例:
object[] array = new object[] {10002, "AILEEVILLE"};
List<object> Temp = new List<object> {array};
解決方法:
// cast here so that the compiler knows that it can be indexed
object [] obj_array = Temp[0] as object[];
List<Pers_InseeZone> persList = new List<Pers_InseeZone>();
Pers_InseeZone p = new Pers_InseeZone()
{
Code_Insee = obj_array[0].ToString(),
Commune = obj_array[1].ToString()
};
persList.Add(p);
應用於您的代碼,它將看起來像這樣:
List<object> Temp = ASPxGridView_Insee.GetSelectedFieldValues("INSEE1","Commune");
List<Pers_InseeZone> persList = new List<Pers_InseeZone>();
foreach (object oItem in Temp )
{
object [] obj_array = oItem as object[];
Pers_InseeZone p = new Pers_InseeZone()
{
Code_Insee = obj_array[0].ToString(),
Commune = obj_array[1].ToString()
};
persList.Add(p);
}
問題歸結為您的class
與您獲取的數據不匹配相同的結構,因此無法將其強制轉換為事實。
相反,為什么不只是遍歷結果並構建該類的新實例呢?
var tempList = new List<Pers_InseeZone>();
foreach (var oItem in Temp)
{
tempList.Add(new Pers_InseeZone(oItem[0], oItem[1]));
}
您將需要向Pers_InseeZone
類添加一個構造函數,然后在其中分配變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.