小编and*_*eer的帖子

将IEnumerable转换为IEnumerable <T>

我有一个类(一个Web控件),它具有IEnumerable类型的属性,并希望使用LINQ处理该参数.

有没有办法通过反射转换/转换/调用IEnumerable <T>在编译时不知道类型?

Method void (IEnumerable source)
{
    var enumerator = source.GetEnumerator();

    if (enumerator.MoveNext())
    {
        var type = enumerator.Current.GetType();
        Method2<type>(source); // this doesn't work! I know!
    }
}

void Method2<T>(IEnumerable<T> source) {}
Run Code Online (Sandbox Code Playgroud)

c# linq

53
推荐指数
3
解决办法
3万
查看次数

运算符之间的LINQ

以下适用于IEnumerable类型,但有没有办法得到这样的东西使用IQueryable类型对sql数据库?

class Program
{
    static void Main(string[] args)
    {
        var items = new[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, };

        foreach (var item in items.Where(i => i.Between(2, 6)))
            Console.WriteLine(item);
    }
}

static class Ext
{
   public static bool Between<T>(this T source, T low, T high) where T : IComparable
   {
       return source.CompareTo(low) >= 0 && source.CompareTo(high) <= 0;
   }
}
Run Code Online (Sandbox Code Playgroud)

linq linq-to-sql

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

收益率为零

有没有办法可选地返回一个带有"return yield"驱动迭代器的null?

我想在某些情况下返回null,我不认为这是IEnumerable类型字符串的特殊情况.同样适用于类型为int等的IEnumerable.谢谢

static void Main(string[] args)
{
    var Items = GetItems();

    if (Items != null)
    {
        foreach (var item in Items)
        {
            Console.WriteLine(item);
        }
    }
    else
    {
        Console.WriteLine("<null>");
    }
}

static IEnumerable<string> GetItems()
{
    if (false)
    {
        yield return "Andy";
        yield return "Jennifer";
    }

    return null; // <- Compiler Error:
    // Cannot return a value from an iterator. 
    // Use the yield return statement to return a value,
    // or yield break to end the iteration.
}
Run Code Online (Sandbox Code Playgroud)

c#

32
推荐指数
5
解决办法
2万
查看次数

更流利的C#/ .NET

我的一位同事想出了这个,我想知道别人怎么想?就个人而言,我觉得它很有趣,但想知道它是否太大了?代码示例如下.底部的扩展方法.

请一般的想法.可以添加的其他扩展方法?

var ddl = Page.FindControl("LocationDropDownList") as DropDownList;

ddl.Visible = true;
ddl.SelectedValue = "123";

if(isAdmin)
    ddl  .SelectedValue = "111";
Run Code Online (Sandbox Code Playgroud)

变为:

Page.FindControl("LocationDropDownList")
    .CastAs<DropDownList>()
    .With(d => d.Visible = true)
    .With(d => d.SelectedValue = "123")
    .WithIf(isAdmin, d => d.Items.Add(new ListItem("Admin", "1")));
Run Code Online (Sandbox Code Playgroud)

要么:

 Page.FindControl("LocationDropDownList")
       .CastAs<DropDownList>()
       .With(d =>
       {
           d.Visible = true;
           d.SelectedValue = "123";
       })
       .WithIf(isAdmin, d => d.SelectedValue = "111");
Run Code Online (Sandbox Code Playgroud)

扩展方法:

public static TResult CastAs<TResult>(this object obj) where TResult : class
{
    return obj as TResult;
}

public static T With<T>(this T t, …
Run Code Online (Sandbox Code Playgroud)

c#

15
推荐指数
7
解决办法
4688
查看次数

jquery 1.9.0直播功能?

jquery 1.9.0中没有live()函数,但jquery.unobtrusive.ajax.js已经使用了这个函数.

我应该使用旧版本的jquery还是其他方式?

jquery

13
推荐指数
2
解决办法
2万
查看次数

jQuery Datepicker"After Update"事件或等效事件

我使用标准的jQuery Datepicker,我需要根据一些日常状态信息修改每个TD中的文本.我意识到我可以连接"beforeShowDay"事件,但这只允许我修改每个日期的css信息.希望在整个日历上举办活动,例如"afterRender"等.

我可以修改显示的第一个日历,但如果用户更改了几个月或几年,我(或我的代码)就不在循环中了.

javascript jquery jquery-ui javascript-events

10
推荐指数
2
解决办法
2万
查看次数

LINQ查询语法到Lambda

想知道是否有任何方法可以获得LINQ"查询"语法表达式产生的lambda表达式.

鉴于:

var query = from c in dc.Colors
            where c.ID == 213
            orderby c.Name, c.Description
            select new {c.ID, c.Name, c.Description };
Run Code Online (Sandbox Code Playgroud)

有没有办法获得生成的"lambda"代码/表达式?

var query = dc.Colors
    .Where(c => c.ID == 213)
    .OrderBy(c => c.Name)
    .ThenBy(c => c.Description)
    .Select(c => new {c.ID, c.Name, c.Description, });
Run Code Online (Sandbox Code Playgroud)

我知道这些是非常简单的示例,并且C#编译器在编译代码时从查询表达式生成lambda表达式.有没有办法得到那个表达的副本?

我希望将此作为我的一些团队成员的训练工具,他们对lambda表达式不太满意.此外,我使用过Linq Pad,但理想情况下,这可以在没有第三方工具的情况下完成.

c# linq

9
推荐指数
1
解决办法
3107
查看次数

LINQ Where()单管或双管/&符号

任何人都想评论我们是否应该在LINQ Where()扩展/查询中使用"I"或"II"和"&"或"&&"?与LINQ to SQL有什么区别?由此产生的表达树比星期五下午我的大脑还要多

谢谢,

static void Main(string[] args)
{
    var numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

    var q1 = numbers.Where(i => i == 1 | i == 2);
    var q2 = numbers.Where(i => i == 1 || i == 2);

    var q3 = numbers.Where(i => i == 1 & i < 3);
    var q4 = numbers.Where(i => i == 1 && i < 3);

    Write(q1);
    Write(q2);
    Write(q3);
    Write(q4);
}

static …
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-sql

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

jQuery Position vs CSS

我是一个服务器人,有限但不断增长的客户端(javascript)能力.

我有一个应用程序,需要六个DIV标签,内部背景图像和文本都位于较大的图像上.使用翻转和文本来考虑透明图像.所有这些都是动态的,具体取决于服务器端模板和配置.

我发现使用核心jQuery position()方法以编程方式定位这些方法比尝试纯CSS和基于标记的方法要容易得多.有许多技术可以使用CSS在DIV中对文本进行顶点居中,但position()只是简单了.

我的问题:

广泛使用position()与使用更多纯标记(传统HTML和CSS)的方法的方法有效吗?我意识到最终,大多数jQuery方法都转换为样式和CSS.

jquery

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

jQuery Mobile Directions ASP.NET或MVC

我作为一名Web开发人员为一家规模较大的医疗机构工作,最近负责为移动开发开发一套标准和可能的参考应用程序.我们当前的方法在很大程度上依赖于asp.net 3.5以及在我们所有应用程序中都很常见的大型框架库.

我刚刚开始涉足jQuery Mobile,看来我们提出的任何解决方案或方向都将严重依赖于该框架.

问题:

  1. 在asp.net Web表单上尝试jQuery Mobile解决方案是否合理?我意识到jQuery Mobile没有以传统的Web表单方式使用post backs,但可以做到吗?MVC解决方案会有多好?(我和两者都合作过,不想进入更大的Web Forms与MVC的讨论,但想知道jQuery Mobile是否能比其他的更好.)

  2. 如何在jQuery Mobile应用程序中保存数据?我得到了data-role ="page"的想法,但是数据通常是通过不依赖于传统客户端回发的ajax调用保存到后端Web服务器的吗?如果没有,那怎么样?如果它通常依赖于ajax,那么使用Web Forms的想法是愚蠢的吗?

谢谢,

asp.net asp.net-mvc jquery-mobile

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