2017-06-05 6 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つの変数が必要であることを示唆していますか?配列はありませんか?それは狂ったデザインになります。 –

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

Answer and Infosありがとうございます。それでも答えはインスタンス自体(つまり、A1、A2、A3など)に逃します。 –

関連する問題