2017-06-05 1 views
-1

ich ein Problem konfrontiert bin ich nicht lösen kann. und ich hoffe es kann jemand.machen eine Zeichenfolge ein neuer Augenblick einer Klasse in C#

// Ich habe Tabelle gespeichert in M.SQL Server, wie in Bild

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 ;

// Kurz gesagt, ich will alle Strings in Position abrufen Spalte und wandelt jede Zeichenfolge von ihnen in aa neuen Augenblick der Klasse (Artikel) trägt dann sofort Namen ...

Vielen Dank ...

Antwort

1

Ziemlich einfach tun Sie es einfach in Ihrer Auswahl mit object initialization syntax.

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

Nach dieser Änderung wird ALL eine Liste der Artikel enthalten anstelle einer Liste von Strings Objekte.

+0

danke für die Antwort. Aber immer noch die Lösung ohne die Instanzen (A1, A2, A3 ...). In der Tat möchte ich etwa 1600 Instanzen machen, und jede Instanz hat verschiedene Attribute (wie NAME, Modell, Version. .. etc). –

+1

Die Instanzen sind da; Sie sind in 'ALL' enthalten. Sie können in ein Array, eine Liste oder was auch immer Sie wollen konvertieren. Wollen Sie vorschlagen, dass Sie für jede Instanz eine Variable mit einem eigenen Symbol haben wollen? Keine Arrays? Das wäre wahnsinniges Design. –

1

Sie ein List<T> verwenden:

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... 

Btw falsch, so viele Dinge mit Ihrem Stil .... Haben Sie einen Blick auf https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions

+0

Dank für Antwort und Infos. aber immer noch fehlt die Antwort zu Instanzen selbst (d. h. A1, A2, A3 ... usw.) –

Verwandte Themen