Suren97 Ответов: 3

C# Как удалить любой элемент из элементов, которые я написал.


I have DynamicArray class, i want write a function in class which will remove any element from the elements I wrote. For example`
DynamicArray d = new DynamicArray(4,5,6,1,2)
when i will call d.remove(2) function, it will remove number 6 and will print` 4,5,1,2


Что я уже пробовал:

I don't know how write that function
public int remove()
{

}

3 Ответов

Рейтинг:
6

Karthik_Mahalingam

попробуй вот так

public class DynamicArray {
    List<int> lstItems = new List<int>();
    public DynamicArray(params int[] items)
    {
        lstItems.AddRange(items);
    }
    public int[] Remove(int a) {
        lstItems.Remove(a);
        return lstItems.ToArray();
    }
}


DynamicArray d = new DynamicArray(4, 5, 6, 1, 2);
int[] items =  d.Remove(2); // 4,5,6,1
int[] items1 =  d.Remove(1); // 4,5,6
int[] items2 = d.Remove(4); // 5,6


Suren97

это система вывода.Типа int32[]

Karthik_Mahalingam

да
Sysem.Int32 или int - это одно и то же.

lukeer

Под "это выход" вы подразумеваете результат d.ToString() или items.ToString () или items1.ToString(), я прав?
Если да, то вам нужно написать функцию для того, чтобы она перебирала все элементы массива и выводила их на печать. Это совсем другая тема, чем удаление элемента из массива n.

Suren97

но мне нужно, чтобы он выводил все числа без удаления числа 4,5,1,2

Karthik_Mahalingam

я думаю, вы говорите об индексе ?

Suren97

да, я должен написать индекс, например 2, и он удалит число 6

Suren97

(4,5,6,1,2)
д. Удалить(2)
он удалит номер 6

Karthik_Mahalingam

затем используйте removeAt

  
 public int[] Remove(int a) {
        if(lstItems.Count >a )
        lstItems.RemoveAt(a);
        return lstItems.ToArray();
    }

Suren97

тогда я буду печатать предметы?
DynamicArray d = новый динамический массив(4, 5, 6, 1, 2);
int[] items = d.Remove(2);
Приставка.WriteLine(элементы);
так ведь?

Karthik_Mahalingam

Воспользуйся
Приставка.метода WriteLine( строка.присоединиться(",", элементы);

Suren97

хорошо, большое вам спасибо :)

Karthik_Mahalingam

Добро пожаловать

Рейтинг:
0

OriginalGriff

Я отсылаю вас к тому моменту, когда вы в последний раз задавали этот вопрос: C# Как удалить случайный элемент[^] где вам напомнили, что решение этого вопроса до этого: C# - как я могу подсчитать количество элементов в массиве?[^] содержит алгоритм.

Мы здесь не для того, чтобы делать тебе домашнее задание. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.
Попробуйте сами, возможно, вы обнаружите, что это не так сложно, как вы думаете.

Потому что если вы этого не сделаете, вы никогда не научитесь "правильно мыслить" и не сможете сделать это для себя. А это значит, что вы провалите свой курс, так как, когда вы доберетесь до экзамена, вам некому будет написать его за вас ... Поэтому сядьте, начните читать, начните думать - и попробуйте, вместо того чтобы ожидать, что другие сделают это за вас: это не то, как работает развитие.


[no name]

5 из 5 за этот ответ.Люди должны понять, прежде чем задавать вопросы, если на них уже ответили члены сообщества.Я призываю сообщество проголосовать за решение, данное вчера для столь необходимого вопроса, поскольку я решил этот вопрос с помощью скрипки sql.

https://www.codeproject.com/Answers/1225902/How-do-I-get-the-below-output-in-sql-Please-help-m?cmt=970075#cmt970075

Рейтинг:
0

RickZeeland

Почему бы вам не использовать Список<int>, смотрите пример здесь: [Dotnetperls]


Suren97

Нужно ли мне написать эту функцию в классе, а затем вызвать ее в основном методе

Suren97

вот покажу как это написать в основном методе

lukeer

Это потому, что список "любого" класса уже принесен вам самим .net Framework.