빠른 예를 들어 :
string str = "OWERFLOW";
char[] array = str.ToCharArray();
char[] array2 = RemveFromArray(array, 'R');
char[] array3 = InsertIntoArray(array2, 'T', 3);
char[] array4 = RemveFromArrayAt(array, 3);
static char[] RemveFromArray(char[] source, char value)
{
if (source == null)
return null;
char[] result = new char[source.Length];
int resultIdx = 0;
for (int ii = 0; ii < source.Length; ii++)
{
if(source[ii] != value)
result[resultIdx++] = source[ii];
}
return result.Take(resultIdx).ToArray();
}
static char[] InsertIntoArray(char[] source, char value, int insertAt)
{
if (source == null || insertAt > source.Length)
return null;
char[] result = new char[source.Length + 1];
Array.Copy(source, result, insertAt);
result[insertAt] = value;
Array.Copy(source, insertAt, result, insertAt + 1, source.Length - insertAt);
return result;
}
static char[] RemveFromArrayAt(char[] source, int removeAt)
{
if (source == null || removeAt > source.Length)
return null;
char[] result = new char[source.Length - 1];
Array.Copy(source, result, removeAt);
Array.Copy(source, removeAt + 1, result, removeAt, source.Length - removeAt - 1);
return result;
}
당신이 현재의 문자 또는 현재 위치에서 제거 하시겠습니까 ? 배열에 두 글자 'R'이 있으면 어떨까요? –
char 배열을 string으로 변환하고, ops를 수행 한 다음 다시 char 배열로 변환하십시오. –
배열의 크기는 고정되어 있습니다. 배열에서 항목을 제거 할 수 없습니다. 그 값을 대체하거나 크기가 다른 새 배열을 만들 수 있습니다. – MarcinJuraszek