0

在深入完成一个小脚本任务之后,我刚刚开始掌握一些 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 { }
        }

我正在尝试修改上述内容,而不是DataRow从中添加所有的 's,eventTypeTable.Rows而是仅添加一组四个硬编码值foreach围绕我应该在循环中执行此操作的位置或时间。

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

谢谢!

4

1 回答 1

0

这是基于名称字段的基本方法。如果名称不是“allow1”、“allow2”、“allow3”或“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 { }
    }
于 2013-09-02T09:41:42.757 回答