是否存在将强类型转换为List<T>
相同类型的数组的简短方法,例如:List<MyClass>
to MyClass[]
?
简而言之,我指的是一种方法调用,或者至少短于:
MyClass[] myArray = new MyClass[list.Count];
int i = 0;
foreach (MyClass myClass in list)
{
myArray[i++] = myClass;
}
Run Code Online (Sandbox Code Playgroud) 我现在遇到过这种情况,我想知道解决循环引用的OO方法是什么.我的意思是,A类将B类作为成员,B又将A类作为成员.
这方面的一个例子是具有Person配偶作为成员的类Person.
Person jack = new Person("Jack");
Person jill = new Person("Jill");
jack.setSpouse(jill);
jill.setSpouse(jack);
Run Code Online (Sandbox Code Playgroud)
另一个例子是Product类,它将一些其他产品的集合作为成员.该集合可以是例如对该产品感兴趣的人可能也感兴趣的产品,并且我们希望在每个产品基础上维护该列表,而不是在相同的共享属性上(例如,我们不希望仅显示)同类别中的所有其他产品).
Product pc = new Product("pc");
Product monitor = new Product("monitor");
Product tv = new Product("tv");
pc.setSeeAlso({monitor, tv});
monitor.setSeeAlso({pc});
tv.setSeeAlso(null);
Run Code Online (Sandbox Code Playgroud)
(这些产品只是为了说明问题,问题不在于某些产品是否相互关联)
这在OOP中总体上是不好的设计吗?所有OOP语言是否/应该允许这样做,还是只是不好的做法?如果这是不好的做法,解决这个问题最好的方法是什么?
不调用以下catch():
void test(void)
{
int i=1,j=0,k;
try
{
k = i/j;
}
catch(...)
{
...handle it...
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法捕捉到这种异常?