小编lan*_*der的帖子

使用Linq将对象列表分组到对象列表的新分组列表中

我不知道Linq是否可行,但这里有......

我有一个对象:

public class User
{
  public int UserID { get; set; }
  public string UserName { get; set; }
  public int GroupID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我返回一个可能如下所示的列表:

List<User> userList = new List<User>();
userList.Add( new User { UserID = 1, UserName = "UserOne", GroupID = 1 } );
userList.Add( new User { UserID = 2, UserName = "UserTwo", GroupID = 1 } );
userList.Add( new User { UserID = 3, UserName = "UserThree", GroupID = 2 } );
userList.Add( …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

在C#中,两个左尖括号"<<"是什么意思?

基本上是标题中的问题.我正在看MVC 2源代码:

[Flags]
public enum HttpVerbs {
    Get = 1 << 0,
    Post = 1 << 1,
    Put = 1 << 2,
    Delete = 1 << 3,
    Head = 1 << 4
}
Run Code Online (Sandbox Code Playgroud)

而我只是好奇双左眼角饼干的<<作用.

.net c# operators bit-shift bitwise-operators

43
推荐指数
14
解决办法
4709
查看次数

如何使用Moq模拟SqlDataReader - 更新

我是moq的新手,并设置了模拟,所以我可以做一些帮助.如何使用Moq模拟SqlDataReader?

更新

经过进一步测试,这是我到目前为止所做的:

private IDataReader MockIDataReader()
{
    var moq = new Mock<IDataReader>();
    moq.Setup( x => x.Read() ).Returns( true );
    moq.Setup( x => x.Read() ).Returns( false );
    moq.SetupGet<object>( x => x["Char"] ).Returns( 'C' );

    return moq.Object;
}

private class TestData
{
    public char ValidChar { get; set; }
}

private TestData GetTestData()
{
   var testData = new TestData();

   using ( var reader = MockIDataReader() )
   {
       while ( reader.Read() )
       {
           testData = new TestData
           {
               ValidChar = reader.GetChar( "Char" ).Value …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing moq mocking

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

使用LINQ将列表转换为CSV字符串

我有一个整数列表,我希望能够将其转换为一个字符串,其中每个数字用逗号分隔.

到目前为止,如果我的列表是:

1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)

我的预期输出是:

1, 2, 3, 4, 5
Run Code Online (Sandbox Code Playgroud)

这可能使用LINQ吗?

谢谢

c# linq csv

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

c#如何找到两个对象是否相等

我需要知道比较两个对象的最佳方法,并找出是否相等.我正在重写GethashCode和Equals.所以一个基本类看起来像:

public class Test
{
    public int Value { get; set; }
    public string String1 { get; set; }
    public string String2 { get; set; }

    public override int GetHashCode()
    {
        return Value ^ String1.GetHashCode() ^ String2.GetHashCode();
    }

    public override bool Equals( object obj )
    {
        return GetHashCode() == obj.GetHashCode();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以出于测试目的,我创建了两个对象:

Test t = new Test()
{
    Value = 1,
    String1 ="One",
    String2 = "One"
};

Test t2 = new Test()
{
    Value = 1,
    String1 = "Two", …
Run Code Online (Sandbox Code Playgroud)

c# hash comparison

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

asp.net MVC DisplayTemplates和EditorTemplate命名约定

关于MVC 2中DisplayTemplates和EditorTemplates的命名约定,我有几个问题.

例如,如果我有一个带有子帐户列表的客户对象,我该如何:

  • 为帐户列表创建一个显示模板,该文件名为什么?

  • 当我在做一个foreach( var c in Model.Accounts )如何在foreach循环中调用显示器镜腿时?当我Html.DisplayFor( x => x )在foreach里面做的x是模型而不是在这种情况下c.

提前致谢.

model-view-controller asp.net-mvc naming-conventions dynamic-data

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

使用Ninject和Membership.Provider

我是Ninject的新手,我在使用自定义会员提供商时遇到问题.

我的会员提供者传入了一个存储库接口.它看起来像:

public class CustomMembershipProvider : MembershipProvider
{
  public CustomMembershipProvider( IRepository repository )
  {
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用MVC应用程序中部分帐户模型的代码作为起点.

但是当它打电话时Membership.Provider我得到一个错误说No parameterless constructor defined for this object.

我已经在ninject中设置了绑定来绑定一个类,IRepository这个Repository类在我在控制器中测试它时起作用.

Ninject中用于什么是正确的绑定Membership.Provider

asp.net-mvc ninject asp.net-mvc-3

12
推荐指数
3
解决办法
4732
查看次数

使用POCO进行延迟加载的存储库模式

我正在开始一个新项目并创建业务对象和数据访问等.我只是使用普通的旧clr对象而不是任何orms.我创建了两个类库:1)Business Objects - 保存我的所有业务对象,所有这些对象都很轻,只有属性和业务规则.2)存储库 - 这是我所有的数据访问.

我的大多数对象都有子列表,我的问题是延迟加载这些值的最佳方法是什么,因为如果我不需要,我不想带回不必要的信息.

我已经考虑过在子属性上使用"get"来检查它是否为"null",以及是否调用我的存储库来获取子信息.从我所看到的这有两个问题:1)对象"知道"如何获得自己我宁愿不在对象中保存数据访问逻辑.2)这需要两个类相互引用,在visual studio中引发循环依赖性错误.

有没有人对如何克服这个问题或我的项目布局的任何建议以及可以改进的地方有任何建议?

谢谢

c# design-patterns data-access-layer repository

8
推荐指数
1
解决办法
1304
查看次数

Linq - 将来自不同对象的子列表合并为单个对象

我有一个对象,它有一个日期和人员列表,一个人有名字和姓氏.就像是:

PeopleInfo
----------
DateTime - StartDate
List<Person> - People

Person
------
string - FirstName
string - LastName
Run Code Online (Sandbox Code Playgroud)

我有一个人员信息列表,其中有多个StartDates相同的人员列表.是否可以使用linq将这些合并到一个对象中?

StartDate - 1/1/2011, People Bob, Sue, Jane
StartDate - 2/2/2011, People Scott, Rob, Mark
StartDate - 1/1/2011, People Fred, Gill, Jack
Run Code Online (Sandbox Code Playgroud)

预期产出

StartDate - 1/1/2011, People Bob, Sue, Jane, Fred, Gill, Jack
StartDate - 2/2/2011, People Scott, Rob, Mark
Run Code Online (Sandbox Code Playgroud)

这有可能在linq?

谢谢

c# linq

7
推荐指数
1
解决办法
3140
查看次数

asp.net MVC解决方案/项目布局

这不是一个悬而未决的问题,而是寻找一个具体的答案.

众所周知,没有一个答案符合所有解决方案,但我很想知道你如何构建你的asp.net MVC解决方案以及你在设计中可能遇到的任何陷阱或你会做的事情,如果可以的话重新开始.

标准的asp.net MVC模板只是一个基本模板,我确信我已经在一个播客中读/听过Scott Hanselman说明模型文件夹存在的唯一原因是人们没有问这个模型在哪里.这已经意味着它可能应该被移动到它自己的独立类中.

就我已经完成的小型MVC应用程序而言,我已经将模型分离为唯一一个包含模型和存储库的类,而"MVC"项目具有控制器和视图.这通常是没有任何问题的锻炼,但正如我所说,这些只是小应用程序.

那么大多数人在做什么? - 只是使用标准模板? - 只分离模型? - 分离出模型和控制器? - 分离甚至移动所以所有数据访问都是通过Web服务或某种数据门户完成的? - 或者完全不同的东西?

最后人们如何创建单元测试?只有一个单元测试类可以测试每个项目或每个项目的单元测试类?

asp.net asp.net-mvc project-management projects-and-solutions

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