在添加到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期间传递这些值,但我一辈子都无法思考我应该在循环中何时何地执行这些操作。

(处理未注释代码的乐趣)

谢谢!

在添加到c#中的数组之前筛选项

这里有一个基于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 { }
    }