2017-06-05 79 views
-1

我正面臨一個我無法解決的問題。我希望有人能。在C中創建一個字符串類的新時刻#

//我得到了表中圖片

enter image description here

// Code 
 

 
DB_Context MYDB = new DB_Context(); 
 
var ALL = MYDB.select(x => x); 
 

 
I want to instantiate every string (i.Position) as a new instant name of class ARTICLE.like the followings 
 

 
foreach (var i in ALL) 
 
{ 
 
ARTICLE "i.Position" = new ARTICLE(); 
 
"i.Name".A_STOCK = i.Stock ; 
 
} 
 

 
// The Class 
 
public Class ARTICLE 
 
{ 
 
public int A_STOCK { get; set;} 
 

 
} 
 

 
// later I want to recall it to get its A_STOCK value , for example 
 

 
int k1 = A1.A_STOCK ; 
 
int k2 = A2.A_STOCK ;

// 總之保存在M.SQL服務器,我想檢索位置的所有字符串列並將它們中的每一個字符串轉換爲類的新時刻(ARTICLE),然後攜帶即時名稱...

非常感謝您......

回答

1

很容易,只需使用object initialization syntax即可。

DB_Context MYDB = new DB_Context(); 
var ALL = MYDB.select(x => { new ARTICLE { A_STOCK = x.Stock}; ); 

進行此更改後,ALL將包含物品的清單對象,而不是字符串列表。

+0

感謝您的答覆。但仍然沒有實例的解決方案(A1,A2,A3 ...)。實際上,我想創建大約1600個實例,並且每個實例都具有不同的屬性(如NAME,Model,Version ..等)。 –

+1

實例在那裏;它們被包含在'ALL'中。你可以轉換爲數組,列表或任何你想要的。你是否建議你想要一個變量,每個實例都有自己的符號?沒有陣列?這將是瘋狂的設計。 –

1

您可以使用List<T>

var articles = new List<ARTICLE>(); 
foreach(var i in ALL) 
    articles.Add(new ARTICLE() { A_STOCK = i.Stock }); 

var k1 = articles[0].A_STOCK; 
var k2 = articles[1].A_STOCK; 
///etc... 

順便說一句,這麼多東西錯了你的風格....看一看https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions

+0

感謝您的回答和信息。但答案錯過了實例本身(即A1,A2,A3 ...等) –

相關問題