新来的,我已经学习了大约一个月的时间。
无论如何,我现在已经在StackOverflow上搜索了几天而且找不到我问题的具体答案......
//Here's my Class
public class Guy
{
public static int ID { get; set; }
public static int LifeExpectancy { get; set; }
public static bool Living { get; set; }
public Guy(int id, int lifeExpectancy, bool living)
{
ID = id;
LifeExpectancy = lifeExpectancy;
Living = living;
}
}
我想要做的是创建一个特定数量的" someGuy"然后使用此方法将对象放入公共列表...
public static List<Guy> Guys = new List<Guy>();
public static void makeSomeGuys(int howManyGuys)
{
for (int i = 0, i <= howManyGuys; i++)
{
int id = i;
int lifeExpectancy = 80;
bool alive = true;
Guys.Add(New Guy(id, lifeExpectancy, alive));
Console.WriteLine("Made a new Guy {0}", id);
}
return;
}
按重要性排列的问题:
如何访问特定对象及其参数? (从列表中访问&#34;伙计&#34;。)
如何从另一个类的此列表中访问对象? (不是我绝对需要,我很好奇)
我可以使用其参数搜索列表中的对象吗? (与执行类似...... humanPopulation[number]
)
我应该为已修改参数的对象创建新列表吗? (而不是将其保留在原始列表中)
是否可以从列表中删除项目? (一般情况下,这是人们做的事情吗?如果有,为什么?)
我真的只需要回答第一个问题。其余的只是奖金。谢谢!的
答案 0 :(得分:3)
首先,您需要从Guy类的属性中删除 static 修饰符,即:
public int ID { get; set; }
public int LifeExpectancy { get; set; }
public bool Living { get; set; }
因为静态导致属性成为类本身的属性,而不是类的实例(个体&#39;伙伴&#39;)。
要获得第一个人(第0个人)的预期寿命:
Console.WriteLine(Guys[0].LifeExpectancy);
要获得第五个人的预期寿命:
Console.WriteLine(Guys[4].LifeExpectancy);
答案 1 :(得分:0)
你可能不熟悉C#和OO编程,所以我在这个答案中加入了一些很好的链接。
仅针对问题1:
首先,您的Guy
类属性未正确封装。确保正确确定ID
,LifeExpectancy
和Living
属性的范围,如this文章所示。
如果您想要访问特定的项目,即具有特定ID的Guy
,您最好使用像{{3}这样的关联容器}。
如果您对List
容器感到满意,则需要在Guys
上使用Dictionary方法,如链接中的示例所示。您会在文档中注意到 Predicate 一词,Find链接会详细说明。
答案 2 :(得分:0)
CREATE TRIGGER SAMPLE_NAME
ON [dbo].[QC]
AFTER INSERT, UPDATE
AS
Update QC Set [CQ].quest_field_key =
Case When [QC].field_key != 'blank_blank' And [QC].status = 1 Then CONVERT(NVARCHAR(8), [CQ].quest_id)+'_'+RIGHT('000'+ CAST([CF].field_no AS VARCHAR(3)),3)
Else CONVERT(NVARCHAR(8), [QC].quest_id)+'_'+RIGHT('000'+ CAST(no AS VARCHAR(3)),3)+'b'
End
From [dbo].[QC]
INNER JOIN query_field QF ON [QC].field_key = [QF].field_key
INNER JOIN inserted I On I.(your match key) = QC.(your match key)
END;