2017-06-05 74 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 ...等) –

相关问题