【发布时间】:2019-02-15 04:43:30
【问题描述】:
每个用户都需要填写一个表格,它有 4 个字段:日期、账单代码、金额和货币。账单代码有一个下拉菜单,其中包含许多有效的 4 个选项(健康、旅行、膳食、酒店)。账单代码字段不能为空,只能选择这4个选项之一。用户使用 4 个帐单代码中的每一个输入 4 个条目。如果用户仅输入 Health and Travel,则会触发一条错误消息,指出需要添加 Meal 和 Hotel 记录。这是我到目前为止得到的:
public bool ValidateBillCode(bills billArray[][])
{
for(int i = 0; i < billArray.Length; i++)
{
for(int j = 0; j < billArray[0].Length; j++)
{
if(billArray[i][j].IndexOf("Health") >= 0 ||
billArray[i][j].IndexOf("Travel") >= 0 ||
billArray[i][j].IndexOf("Meal") >= 0||
billArray[i][j].IndexOf("Hotel") >= 0)
{
return true;
}
else
{
return false;
}
}
}
}
但它不能确保所有这四个都输入了,而且我不确定如何制作一条错误消息来告诉用户缺少四个中的哪一个。我将不胜感激这方面的任何帮助。
【问题讨论】:
-
仅供参考,这称为锯齿状数组。对于您的用例,您似乎想将其用作实际的二维数组。我建议你简单地使用二维数组并简单地检查长度是否为 4
-
为了创建一个错误消息来指出缺少哪些值,您必须为每个值编写单独的检查。
-
为什么要使用二维数组?每个维度具体指的是什么?
bills到底是什么? -
@MostafaF。这里有两个数组,一个代表金额(应该等于或大于零),如果在金额中输入任何内容,则必须是账单代码。
-
@Mainta 我强烈建议您编写一个示例有效输入和一个示例无效输入以确保其清晰
标签: c# asp.net .net csharpcodeprovider protobuf-csharp-port