小编Ton*_*Nam的帖子

使用分组依据删除重复项

我正在寻找一种删除重复项的简单方法,而无需实现IComparable类,必须重写GetHashCode等.

我认为这可以通过linq实现.我上课了:

class Person
{
    public string Name;
    public ing Age;
}
Run Code Online (Sandbox Code Playgroud)

我有一个约500人的名单 List<Person> someList = new List<Person()

现在我想删除同名的人,如果有重复,我想保留年龄较大的人.换句话说,如果我有列表:

Name----Age---
Tom,     24  |
Alicia,  22  |
Alicia,  12  |
Run Code Online (Sandbox Code Playgroud)

我想最终得到:

Name----Age---
Tom,     24  |
Alicia,  22  |
Run Code Online (Sandbox Code Playgroud)

如何使用查询执行此操作?我的列表不长,所以我不想创建哈希集也不想实现IComparable接口.如果我能用linq查询来做这件事会很好.

我认为这可以通过groupBy扩展方法完成,例如:

var people = // the list of Person
person.GroupBy(x=>x.Name).Where(x=>x.Count()>1)
      ...    // select the person that has the greatest age...
Run Code Online (Sandbox Code Playgroud)

c# linq collections duplicates

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

静态方法返回包含类类型的对象

我有:

class Person
{

    public Person(string name, int age)
    {
        this.Name = name;
    }

    public string Name { get; set; }

    public virtual void Speak()
    {
        Console.Write("Hello I am a person");
    }

    public static T GenerateRandomInstance<T>() where T: Person
    {
        var p = new T("hello", 4); // error does not compile
        // rondomize properties
        return p;                
    }
}

class Student : Person
{
    // constructor I call the base class here
    public Student(string name, int age)
        : base(name, age)
    { …
Run Code Online (Sandbox Code Playgroud)

c# polymorphism inheritance

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

IEnumerable到T []的数组

问题标题可能不正确.我有以下变量

IEnumerable x = // some IEnumerable
System.Type y = // some type
Run Code Online (Sandbox Code Playgroud)

如何迭代x以生成具有y类型项的数组?

当我查看互联网时,我发现:

public T[] PerformQuery<T>(IEnumerable q)
{                         
        T[] array = q.Cast<T>().ToArray();
        return array;
}
Run Code Online (Sandbox Code Playgroud)

注意我不能调用那个方法,因为PerformQuery y是类型的System.Type,换句话说就是调用它PerformQuery<typeof(y)>(x);或者PerformQuery<y>(x);会给我一个编译器错误.


编辑

这就是我遇到这个问题的原因.我有网络服务,我发布了两件事.我想要查询的表的类型(示例typeof(Customer)),以及实际的字符串查询示例"Select*from customers"

    protected void Page_Load(object sender, EventArgs e)
    {
        // code to deserialize posted data
        Type table = // implement that here
        String query = // the query that was posted

        // note DB is of type DbContext
        IEnumerable q = Db.Database.SqlQuery(table, query …
Run Code Online (Sandbox Code Playgroud)

c# generics casting

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

从.net发送反馈/效果到操纵杆

感谢这个答案/sf/answers/961433651/我能够知道按下按钮的时间或旋转方向盘的时间.现在我的问题是如何将效果发送到设备?例如,当我正在玩游戏时,如果我发生碰撞,车轮会振动.我怎么能让方向盘振动?

我相信我需要做的就是Start()效果(http://sharpdx.org/documentation/api/t-sharpdx-directinput-effect).SharpDX.DirectInput.Joystick类似乎没有一个方法可以返回所有效果.有一个方法被调用,GetEffects但该方法返回一个EffectInfo对象集合.游戏如何向操纵杆发送命令?

c# hid joystick human-interface sharpdx

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

实体框架确保按顺序插入对象

我的数据库上有一个表规则.我插入如下规则:

Rule[] rulesToInsert = // some array of rules to insert

using(var db = new MyEntities())
{
     foreach(var rule in rulesToInsert)
         db.Rules.Add(rule);
     db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

当我稍后检索我刚刚添加的规则时,我注意到它们的顺序不同.按照我添加的顺序检索它们的最佳方法是什么?我db.SaveChanges()每次添加新规则时都应该打电话吗?或者我应该添加一个名为SortOrder的新列?为什么没有按照我添加的顺序添加项目?

编辑

id是一个guid(字符串),因为一个规则可以有其他规则.换句话说,我正在创建一个树结构.(规则表有自己的外键).当我使用主键作为整数并且它自动增量时它崩溃了,所以我只使用了一个guid.我想我会添加一个名为排序顺序的单独列.

c# sql-server entity-framework-6

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

为什么Google会捕获与我的TcpListener不同的IP地址?

我有一个非常简单的http服务器:

TcpListener server = new TcpListener(System.Net.IPAddress.Any, 80);
server.Start();
var client = server.AcceptTcpClient();
var ip = client.Client.RemoteEndPoint;
// ip address in here is: 166.72.162.85

// etc. read request and write response....
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我正在通过连接到AT&T 3G网络的手机提出这个要求.我的服务器检测到ip地址166.72.162.85

现在这是我的问题.我问这个问题主要是为了学习.为什么谷歌会捕获不同的IP地址?如何使用我的TcpListener捕获2600:387:9:3 :: c7?

在此输入图像描述

c# network-programming ip-address ipv6 httplistener

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

在resourses文件夹中执行文件而不将其复制到磁盘

我在资源文件夹中有一个可执行文件.我可以通过将该文件写入磁盘然后查找该文件并使用Process.Start方法来运行该文件来运行该文件.以下是我如何执行此操作的示例:

在此输入图像描述

如何在不将文件写入磁盘的情况下执行该文件.有没有办法可以从内存中执行文件?或者可以直接从资源文件夹执行它?

c#

2
推荐指数
1
解决办法
431
查看次数

Xcode 4.0.2中的检查器窗口在哪里

在我以前打开检查器窗口(分段控制属性)之前,例如: 在此输入图像描述

现在我升级到Xcode 4.0.2我有这个: 在此输入图像描述

我怎么能在Xcode 4.0.2中打开Inspector窗口?

xcode ios4

2
推荐指数
1
解决办法
8079
查看次数

需要为我的应用程序保存很多记录......我应该使用本地数据库instad吗?

我即将开始为Windows 开发一个" 时间机器 ".我需要在表格中存储大量记录.每次执行备份时,我都会写入大约50,000条记录,因为这是我的计算机中有多少文件(每条记录与存储文件无关.记录将包含每个文件所在的路径)无论如何我不要我知道我是否可以使用XML来存储我的记录,因为我的查询不会很复杂,而且比创建本地数据库更容易部署,我不知道它是否会更高效,因为即使查询将会很简单我将处理大量数据.此外,我不知道本地数据库是否可以大于2GB,我估计如果经常使用一年,数据库将大约为3 GB.

我更喜欢使用XML并使用Xpath进行查询,以便更轻松地部署我的应用程序.但是如果创建一个本地数据库变得更有效率并且XML会减慢我的应用程序因为我有这么多记录,那么我将创建一个本地数据库.任何其他建议都会有所帮助,也许我需要做一些其他事情.

.net c# xml sql-server-ce local-database

2
推荐指数
1
解决办法
413
查看次数

如何知道我是否有试用版Visual Studio 2010?

我的大学有几个程序可供下载.大约6个月前,我下载了visual studio 2010终极版.我不确定它是否是试用版.我不这么认为,因为我已经使用了大约6个月而且我没有必要延长任何试验.此外,我没有获得仅用于评估目的的启动画面.我曾经在我的普通计算机上进行过视觉工作室专业版的试用.如果我没有试用版本,这意味着我可以分发我的应用程序?

visual-studio-2010

2
推荐指数
1
解决办法
4515
查看次数