C#의 제네릭에 대해 배우고 있는데 제네릭 배열을 만들고 일부 문자열을 추가하려고합니다. 나는 쉽게 int
값을 추가 할 수 있지만, strings
과 작동시키는 방법을 이해할 수는 없습니다. 문자열을 사용하려고하면 NullReferenceException
이됩니다.일반 문자열에 데이터 추가 Array C#
나는 myArray
라는 클래스가 있고, 그것은 다음과 같습니다
class MyArray<T> : IComparable<T>, IEnumerable<T>, IEnumerator<T>
{
T[] data = new T[10];
int current = -1;
public T[] Data
{
get { return data; }
}
public void Add(T value)
{
for (int i = 0; i < data.Length; i++)
{
if (data[i].Equals(default(T)))
{
data[i] = value;
return;
}
}
T[] tmp = new T[data.Length + 10];
data.CopyTo(tmp, 0);
Add(value);
}
나는이 같은 데이터를 추가 :
class Program
{
static void Main(string[] args)
{
MyArray<string> StringArray = new MyArray<string>();
StringArray.Add("ONE");
StringArray.Add("TWO");
}
}
이유를 기본값으로 비교 (티)? 왜 당신이 얼마나 많은지 추적하지 않는 이유는 무엇입니까? 또는 ... 그냥'List'을 사용하십시오 ... –
모두가 너무 빠릅니다. 나는 모든 사람들이 제안한대로 코드와 그 for 루프를 디버깅했습니다. 새로운 T [10] 배열은 T 배열이지만 배열 [0]은 null입니다. 아직 아무것도 추가하지 않았기 때문입니다. – adt