相关疑难解决方法(0)

linq命令列表(MyObjects)

如何通过我的对象列表中的传递字符串值进行排序?我需要在我的List(Of)对象上进行分页和排序,分页没有问题,但我不知道是谁让Order By工作.

这是我目前正在做的事情,它的工作很棒:

Return returnReports.Skip(PageSize * (PageNumber-1)).Take(PageSize).ToList()
Run Code Online (Sandbox Code Playgroud)

我如何让它工作?

Return returnReports.OrderBy(SortColumn).Skip(skip).Take(PageSize).ToList()
Run Code Online (Sandbox Code Playgroud)

SortColumn是传递的字符串值

.net linq vb.net asp.net

6
推荐指数
1
解决办法
1万
查看次数

Lambda表达式比foreach语句慢?

我做了一个小实验来测试lamdba表达式是否可以检索比foreach语句更快的结果.但是,Lambda失败了

System.Diagnostics.Stopwatch st = new System.Diagnostics.Stopwatch();
        st.Start();
        List<int> lst = new List<int>();
        foreach (GridViewRow item in GridView1.Rows)
        {
            if (((CheckBox)item.FindControl("Check")).Checked)
            {
                lst.Add(Convert.ToInt32(((Label)item.FindControl("Id")).Text));
            }
        }
        st.Stop();
        Response.Write(st.Elapsed.ToString());
        Response.Write("<br/><br/><br/>");
        st.Reset();
        st.Start();
        List<int> lstRank = GridView1.Rows.OfType<GridViewRow>().Where(s => ((CheckBox)s.FindControl("Check")).Checked)
                                                                     .Select(s => Convert.ToInt32(((Label)s.FindControl("Id")).Text)).ToList();
        st.Stop();
        Response.Write(st.Elapsed.ToString());
        int i = 0;


output
00:00:00.0000249


00:00:00.0002464 
Run Code Online (Sandbox Code Playgroud)

为什么lambda比foreach慢.这可能是lambda表达式的缺点

linq asp.net

6
推荐指数
1
解决办法
1640
查看次数

在C#中动态生成委托类型

我们需要动态生成委托类型.我们需要根据输入参数和输出生成委托.输入和输出都是简单类型.

例如,我们需要生成

int Del(int, int, int, string)
Run Code Online (Sandbox Code Playgroud)

int Del2(int, int, string, int)
Run Code Online (Sandbox Code Playgroud)

任何关于如何开始这方面的指示都会非常有帮助.

我们需要解析表示为xml的表达式.

例如,我们将(a + b)表示为

<ADD>
    <param type="decimal">A</parameter>
    <param type="decimal">B</parameter>
</ADD>
Run Code Online (Sandbox Code Playgroud)

我们现在希望将其暴露为Func<decimal, decimal, decimal>.我们当然希望允许xml中的嵌套节点,例如:

(a + b) + (a - b  * (c - d)))
Run Code Online (Sandbox Code Playgroud)

我们希望使用表达式树和Expression.Compile.

欢迎就这种方法的可行性提出建议.

c# delegates code-generation

5
推荐指数
1
解决办法
6632
查看次数

如何通过在C#中解析Xml来创建表达式树?

我期待通过使用C#解析xml来创建表达式树.xml将如下所示:

<Expression>
<If>
  <Condition>
    <GreaterThan>
      <X>
      <Y>
    </GreaterThan>
  </Condition>
  <Expression />
<If>
<Else>
  <Expression />
</Else>
<Expression>
Run Code Online (Sandbox Code Playgroud)

或者另一个例子......

<Expression>
  <Add>
    <X>
    <Expression>
      <Y>
      <Z>
    </Expression>
  </Add>
</Expression>
Run Code Online (Sandbox Code Playgroud)

......关于从哪里开始的任何指示都会有所帮助.

亲切的问候,

.net c# xml linq expression-trees

3
推荐指数
1
解决办法
2212
查看次数

标签 统计

linq ×3

.net ×2

asp.net ×2

c# ×2

code-generation ×1

delegates ×1

expression-trees ×1

vb.net ×1

xml ×1