正在尝试从C#中的结构数组中删除条目。获取冲突信息?

正在尝试从C#中的结构数组中删除条目。获取冲突信息?,c#,arrays,struct,C#,Arrays,Struct,我一直在研究这个话题,但得到了相互矛盾的答案。感谢您的帮助。 对于作业,我被指示创建数组结构。我试图在一种情况下删除一个条目,在另一种情况下进行更改。这应该是一个字段,而不是索引号 var countOfEmployees = 0; var employees = new EmployeeData[100]; Console.Write("Please enter employee you want to delete:"); string deleteEmployee = Console.Re

我一直在研究这个话题,但得到了相互矛盾的答案。感谢您的帮助。 对于作业,我被指示创建数组结构。我试图在一种情况下删除一个条目,在另一种情况下进行更改。这应该是一个字段,而不是索引号

var countOfEmployees = 0;
var employees = new EmployeeData[100];
Console.Write("Please enter employee you want to delete:");
string deleteEmployee = Console.ReadLine();
bool deleted = false;
for (int x = 0; x < countOfemployees; x++)
{

 if (items[x].ItemNumber == deleteItemNumber)

  {
 deleted = true;   

  }
if (true)
 {

//code goes here                                       

  }
var countOfEmployees=0;
var员工=新员工数据[100];
Console.Write(“请输入要删除的员工:”);
字符串deleteEmployee=Console.ReadLine();
bool deleted=false;
for(int x=0;x

非常感谢您的帮助!

在数组中,您可能可以从占位符中删除该值,但如果没有一些步法,您将无法删除实际项目

基本上,您可以做的是:找到您搜索的值,用null替换它,并在其他每个函数中相应地处理它

选项2是删除该项,然后使用一个函数将所有索引较高的值向上“移位”

选项3是使用C#/.NET在集合中提供的高级功能,创建列表,删除项并转换回数组

var employees = new EmployeeData[100];
var list = employees.ToList();
int index=-1;

//search through in a loop (won't write it here)...
    index = x; //get the index in your list then break the loop
    break; //end the loop


list.RemoveAt(index); //delete the spot outside the loop
employees=list.ToArray();
当然,如果搜索没有找到任何东西,需要进行检查,但我认为您可以在没有我帮助的情况下实现这一点。 当然,我假设数组中只有一个条目具有这种值。
如果不是,你必须循环并删除它们,直到搜索不再找到任何内容。

我们看不到你在哪里创建了deleteItemNumber。你不能从数组中删除。你需要先转换为列表。你至少应该发布一个人们可以复制/粘贴的示例。事实上,你的代码没有编译。谢谢你的支持我们的反馈。这是我在这里的第一篇帖子,下次我会照你说的做。我确实找到了谢谢你。这非常有帮助!还有一个问题。我实现了你的第三个建议,虽然它工作得很好,但会留下一个空值。当它仍然是一个列表时清除空值会更好吗?还是在它返回数组后我应该这样做?(或者这很重要,我是不是想得太多了?)我可以通过添加var numberOfEmployees=0来删除空条目;然后在块的末尾添加numberOfEmployees——我建议用
列表中的值覆盖
countOfEmployees