在添加到c#中的数组之前筛选项
本文关键字:筛选 选项 数组 添加 | 更新日期: 2023-09-27 18:30:03
在执行一个小脚本任务的最后阶段,我刚刚开始掌握一些c#。
我正试图修改一些在网页上构建下拉框的代码,使其只包含四个项目的列表,我不确定实现这一点所需的语法,但希望大家能提供帮助。
using (CoreBusinessLayerProxy proxy = CoreBusinessLayerProxy.CreateCoreBusinessLayerProxy(BusinessLayerExceptionHandler))
{
eventTypesTable = proxy.GetEventTypesTable();
}
eventTypes.Items.Add(new ListItem(Resources.CoreWebContent.WEBCODE_VB0_201, "All events"));
EventTypes.Add("All events", 0);
foreach (DataRow r in eventTypesTable.Rows)
{
eventTypes.Items.Add(r["Name"].ToString());
try
{
EventTypes.Add(r["Name"].ToString(), Int32.Parse(r["EventType"].ToString()));
}
catch { }
}
我试图修改上面的内容,这样它就不会添加eventTypeTable.Rows
中的所有DataRow
,而是只添加一组四个硬编码值,我怀疑我需要在foreach
期间传递这些值,但我一辈子都无法思考我应该在循环中何时何地执行这些操作。
(处理未注释代码的乐趣)
谢谢!
这里有一个基于Name字段的基本方法。如果Name不是"allow1"、"allow2"、"alow3"或"allow4"之一,则它将为continue
。这将移动到foreach循环中的下一次迭代,而不执行当前语句块的其余部分。
foreach (DataRow r in eventTypesTable.Rows)
{
string name = r["Name"].ToString();
if ( name != "allow1" && name != "allow2" && name != "allow3" && name != "allow4" )
continue;
eventTypes.Items.Add(r["Name"].ToString());
try
{
EventTypes.Add(r["Name"].ToString(), Int32.Parse(r["EventType"].ToString()));
}
catch { }
}