c# - 无法在数组中搜索最大值
问题描述
我的问题是我无法使用 linq 搜索数组以查找对象属性并将其设置为 id。
我需要在数组中搜索 othermodel.idCliente
并将该值设置为“nextid + 1”的方法,以便将其用作 id 和下一个数组索引。
由于数组是空的,程序正确地添加了新对象,但是当输入 else if 情况时,我得到一个“a as null”的异常。
这是我的代码(如果 linq 行说“a”为空,我在 else 上得到一个异常):
//Arrays
ClienteModel[] MemoryClienti = new ClienteModel[19];
OrdineModel[] MemoryOrdini = new OrdineModel[19];
//Aggiungi
public bool CreateCliente(ClienteModel model)
{
if (MemoryClienti[0] == null)
{
int defaultID = 0;
int defaultIndex = 0;
model.IDCliente = defaultID;
MemoryClienti[defaultIndex] = model;
}
else if (MemoryClienti[0]!=null)
{
var maxID = MemoryClienti.Max(a => a.IDCliente);
model.IDCliente = maxID++;
MemoryClienti[maxID++] = model;
}
return true;
}
这是表单点击的代码:
//Aggiungi Cliente
private void aggiungiClienteButton_Click(object sender, EventArgs e)
{
clienteModel.Cognome = cognomeTextBox.Text;
clienteModel.Nome = nomeTextBox.Text;
clienteModel.Indirizzo = indirizzoTextbox.Text;
dbMemoryManager.CreateCliente(clienteModel);
MessageBox.Show("Cliente aggiunto correttamente.");
cognomeTextBox.Text = String.Empty;
nomeTextBox.Text = String.Empty;
indirizzoTextbox.Text = String.Empty;
}
这是ClienteModel
课程:
public class ClienteModel
{
public int IDCliente { get; set; }
public string Cognome { get; set; }
public string Nome { get; set; }
public string Indirizzo { get; set; }
}
解决方案
以下代码不会实现您想要做的事情吗?
ClienteModel[] MemoryClienti = new ClienteModel[19];
OrdineModel[] MemoryOrdini = new OrdineModel[19];
int maxID = 0; /* 0 is not a valid ID. IDs start from 1 */
//Aggiungi
public bool CreateCliente(ClienteModel model)
{
if(maxID <= MemoryClienti.Length) {
MemoryClienti[maxID++] = model; // copy the reference
model.IDCliente = maxID; // update the object's ID
return true;
} else {
return false; // can't add. array is full
}
}
如果您还要进行删除,最好使用其他人也建议的列表。
推荐阅读
- javascript - 无法在 chrome 扩展中加载默认图标
- elasticsearch - Searchkick::ImportError ({"type"=>"cluster_block_exception", 只读/允许删除 (api)];"}
- c# - Razorsharp,C# + HTML:组合框,您还可以在其中键入自定义字符串输入
- python - Discord.py 避免阻塞 on_message 方法
- html - 仅在 Firefox 中内容后的空格
- r - DT 代理不显示数据
- python - PM4Py - 生成的图缺乏节点和边权重强调
- angular - Angular 模板驱动表单中的 Karma-Jasmine 测试注册表单
- javascript - 从字符串创建函数
- java - 数学运算出错