如何添加对象Cbook上我的课CBooks不使用列表
Cbooks有一个属性附加伤害“CTeam []团队”,它是固定大小的(8)。如果我要添加使用该对象,它在主:如何添加对象Cbook上我的课CBooks不使用列表
CBook A1 = new CBook("Title1", "Author1"); CBook A2 = new CBook("Title1", "Author2");
CBooks ArrayOfBooks = new CBooks(8);
ArrayOfBooks.Add(A1);
ArrayOfBooks.Add(A2);
那么位置0和1 ocuppied,并从2到7的位置是空的。我想要做的是,使用一个变量“INT AUX = 0”,数这样的曾经占领的位置:
for (int k = 0; k < NumberOfTeams; k++) {
if (Teams[k].Name=="")
Aux += 1;
}
所以,奥克斯在这种情况下会是2,那么我想这样做“队[辅助] = A“,所以A会在位置2,现在我应该在我的数组中有三个对象。但我发现了“索引超出界限”
回答:
你的实现应该类似于此:
public class Program {
public static void Main(string[] args)
{
Element a = new Element("A");
Element b = new Element("B");
MyArray array = new MyArray(8);
array.Add(a);
array.Add(b);
Console.WriteLine(array.Count()); //2 Elements are in the array
}
}
//Sample element class.
public class Element{
public readonly String MyString;
public Element(String myString){
MyString = myString;
}
}
//Sample array class.
public class MyArray{
private readonly Element[] myArray;
private int count; //Use a property here
public MyArray(int size){
//Be careful -> check if size is >= 0.
myArray = new Element[size];
}
public bool Add(Element element){
if(myArray.Length == count) // return false if no more elements fit.
return false;
myArray[count] = element;
count++;
return true;
}
public int Count(){
return count;
}
}
所以没有必要创建一个额外的计数循环。 “MyArray”类中的“count”变量始终保持正确的值。 无论如何,这段代码的实现或用例有点笨拙。 为什么你不能直接使用更安全的列表或其他东西。这将是一个更好的解决方案。
回答:
你有什么需要CBooks?据我所知,它只是一个8个CBook对象的数组,所以为什么不使用CBook []?
CBook A1 = new CBook("Title1", "Author1"); CBook A2 = new CBook("Title1", "Author2");
CBooks[] ArrayOfBooks = new CBook[8];
ArrayOfBooks[0] = A1;
ArrayOfBooks[1] = A2;
int aux = 0;
for (int k = 0; k < ArrayOfBooks.Length; k++)
{
//break the loop because we know there are no more books
if (ArrayOfBooks[k] == null)
break;
aux++;
}
的问题不涉及哪些变量NumberOfTeams和小组是可以,但那些被添加到CBook的实施?然后
以上是 如何添加对象Cbook上我的课CBooks不使用列表 的全部内容, 来源链接: utcz.com/qa/259249.html