小编Pie*_*rOz的帖子

更改为通用接口的性能影响

我研究使用Visual Studio在C#/ .NET中开发的应用程序.在我的方法的原型中,ReSharper经常建议我用更通用的输入参数替换输入参数的类型.例如,List <> with IEnumerable <>如果我只在我的方法体中使用带有foreach的列表.我可以理解为什么写这个看起来更聪明,但我非常关心性能.我担心如果我听ReSharper我的应用程序的性能会降低...

当我写作时,有人能够(或多或少)向我解释幕后发生的事情(即在CLR中):

public void myMethod(IEnumerable<string> list)
{
  foreach (string s in list)
  {
    Console.WriteLine(s);
  }
}

static void Main()
{
  List<string> list = new List<string>(new string[] {"a", "b", "c"});
  myMethod(list);
}
Run Code Online (Sandbox Code Playgroud)

和有什么区别:

public void myMethod(List<string> list)
{
  foreach (string s in list)
  {
    Console.WriteLine(s);
  }
}

static void Main()
{
  List<string> list = new List<string>(new string[] {"a", "b", "c"});
  myMethod(list);
}
Run Code Online (Sandbox Code Playgroud)

.net c# clr performance interface

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

将查询合并到一个查询中

我有以下两个表(带有一些示例数据)

日志:

 ID | SETID | DATE
========================
 1  |   1   | 2010-02-25
 2  |   2   | 2010-02-25
 3  |   1   | 2010-02-26
 4  |   2   | 2010-02-26
 5  |   1   | 2010-02-27
 6  |   2   | 2010-02-27
 7  |   1   | 2010-02-28
 8  |   2   | 2010-02-28
 9  |   1   | 2010-03-01

统计:

 ID | OBJECTID | FREQUENCY | STARTID | ENDID
=============================================
 1  |    1     |   0.5     |    1    |   5
 2  |    2     |   0.6     |    1 …

mysql sql

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

如何使用NHibernate检索List上的条件元素

我正在使用NHibernate,我有两个映射我的DataBase模式的类:

public class A
{
    public virtual int Id { get; set;}
    public virtual List<B> MyList { get; set; }
}

public class B
{
    public virtual int Id { get; set; }
    public virtual DateTime Date { get; set; }
    public virtual A FKtoA { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想得到表A的所有条目,它们的MyList属性的所有元素都具有小于给定值的Date.

我怎么能用优雅的NHibernate语法做到这一点?

.net c# nhibernate

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

用mongodb恢复转储失败

我使用以下mongodump命令行转储了一个mongodb数据库

mongodump -h www.myhost.com -u myusername -p mypassword -d mydb > dump.bson
Run Code Online (Sandbox Code Playgroud)

我正在尝试恢复本地服务器上的转储:

mongorestore -h localhost -d mydb dump.bson  
Run Code Online (Sandbox Code Playgroud)

不幸的是,它失败并出现以下错误:

assertion: 10264 invalid object size: 1096040772 
Run Code Online (Sandbox Code Playgroud)

有谁知道什么可能导致这个错误?
在两台服务器上,mongo的版本是1.8.3

谢谢

mongodb

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

如何在F#中调用C#枚举的值

我正在写一些F#代码,我想使用ac#assembly中定义的枚举值.
例如,在c#程序集中我得到了这段代码

public enum MyEnum
{
    valueA,
    valueB,
    valueC
}
Run Code Online (Sandbox Code Playgroud)

我怎么打电话给MyEnum.valueAF#?当我写这篇文章时,编译器大喊:

无效使用类型名称和/或对象构造函数.如果需要,使用'new'并将构造函数应用于其参数,例如'new Type(args)'.所需的签名是:MyEnum()

c# enums f#

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

RabbitMQ - ExchangeDeclare 在 .NET 客户端中被拒绝并显示 ACCESS_REFUSED

我对 RabbitMQ 还很陌生,我必须实现一个 .NET 客户端,该客户端需要将消息发布到第三方托管的 RabbitMQ 服务器上的 Exchange 实体。

与服务器的连接似乎运行良好,但是当我想声明我必须使用的 Exchange 通道时,情况变得更糟。

using (var connection = connectionFactory.CreateConnection())
{
    IModel model = connection.CreateModel();
    model.ExchangeDeclare(exchangeName, ExchangeType.Direct);
    // ... the rest of the code is never reached
}
Run Code Online (Sandbox Code Playgroud)

通过这些行,我从服务器收到一条异常消息

The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=403, text="ACCESS_REFUSED - access to exchange ... in vhost ... refused for user ...", classId=40, methodId=10, cause=
 "Connection Closed, error code 403 (ACCESS_REFUSED)"
Run Code Online (Sandbox Code Playgroud)

这是什么意思?这是否意味着为我提供连接到 AMQP 服务器的凭据的第三方尚未授予 Exchange“exchangeName”足够的权限?或者我在客户端做错了什么?我真的需要打电话吗ExchangeDeclare

谢谢您的帮助

.net c# rabbitmq rabbitmq-exchange

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

JIRA SOAP API:获取用户列表

我正在使用C#中的一个工具来连接JIRA SOAP API.我已经阅读了可以在这里找到的文档:http://docs.atlassian.com/software/jira/docs/api/rpc-jira-plugin/latest/index.html

有谁知道如何获得特定项目的所有可分配用户的列表?我还没找到怎么做......

api jira

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

Json.NET可以反序列化"动态"属性吗?

我的C#服务从外部服务接收具有"模糊"格式的对象,如下所示:

{
  "member": {
      "<dynamicProperty>": {
          "value":"some_string",
          "score": 10
      }
}
Run Code Online (Sandbox Code Playgroud)

此属性""可以针对每个对象进行更改,我没有针对其可能值的已定义和受限列表,当然我无法更改此格式.

是否有人知道Json.NET或一些其他的Json .NET序列化,可以帮助我,让我来定义像类MemberDynamicProperty下面,我可以用一个简单的反序列化?

class Member
{
    [JsonProperty(PropertyName= "??")] // what should I put here?
    public DynamicProperty { get; set; }
}

class DynamicProperty
{
    public string value;
    public int score;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

c# json

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

C#/ LINQ选择具有相同属性的对象子列表

我是LINQ的初学者,我想知道是否可以使用它来解决以下问题:

我有一节课:

public class myClass
{
  public int Id { get; set; }
  public int Category { get; set; }
  public string Text { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我有一个myClass对象列表.

public List<myClass> myList;
Run Code Online (Sandbox Code Playgroud)

我可以轻松地使用LINQ myList包含myClass属性值Text不止一次的所有对象的子列表.

比如我有

myClass A = new myClass { Id=1, Category=1, Text="Hello World!"};
myClass B = new myClass { Id=2, Category=2, Text="Hello World!"};
myClass C = new myClass { Id=3, Category=2, Text="Good Bye!"};
myList.AddRange(new []{ A, B, C });
Run Code Online (Sandbox Code Playgroud)

我应该有对象A …

c# linq

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

StreamReader.ReadLine()从流的末尾开始

我在C#/ .NET中工作,我正在解析一个文件来检查一行是否与特定的正则表达式匹配.实际上,我想找到匹配的最后一行.

为了得到我的文件行,我目前正在使用System.IO.StreamReader.ReadLine()方法,但由于我的文件非常庞大,我想优化一下代码并从文件末尾开始.

有没有人知道在C#/ .NET中是否有一个类似于ReadLine()的函数从流的末尾开始?如果没有,那么在您看来,最简单,最优化的方式来完成上述工作会是什么?

c# parsing

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

标签 统计

c# ×7

.net ×3

api ×1

clr ×1

enums ×1

f# ×1

interface ×1

jira ×1

json ×1

linq ×1

mongodb ×1

mysql ×1

nhibernate ×1

parsing ×1

performance ×1

rabbitmq ×1

rabbitmq-exchange ×1

sql ×1