如何添加对象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

回到顶部