小编gil*_*lyb的帖子

Enum.IsDefined带有标记的枚举

我现在正在读一本Nutshell中的C#4.0这本书,我认为这本书是一本很好的书,即使是高级程序员也可以作为一个很好的参考书.

我回顾了有关基础知识的章节,我发现了一个技巧,告诉我在使用标记枚举时是否在枚举中定义了某个值.
该书指出,使用Enum.IsDefined对标记的枚举不起作用,并建议这样的解决方法:

static bool IsFlagDefined(Enum e)
{
    decimal d;
    return (!decimal.TryParse(e.ToString(), out d);
}
Run Code Online (Sandbox Code Playgroud)

如果在标记的枚举中定义了某个值,则该值应返回true.

有人可以向我解释为什么这有效吗?

提前致谢 :)

c# enums flags c#-4.0

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

使用NEST C#Client搜索ElasticSearch

我开始四处寻找搜索引擎,经过一些阅读后我决定选择ElasticSearch(这非常棒:)),我的项目是在C#中,所以我四处寻找客户并开始使用NEST,一切都很简单,但我是在搜索部分有点困惑.

我想搜索特定类型的所有字段,我想出的是以下代码:

elasticClient.Search<NewType>(s => s.Query(q => q.QueryString(d => d.Query(queryString))));
Run Code Online (Sandbox Code Playgroud)

我看到很多字符串查询搜索已被弃用,并希望确保以上是正确的方法(上面没有标记为已弃用...)对于一个简单的任务也有点长,所以也许任何人知道这样做的另一种方式.

谢谢

c# elasticsearch nest

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

如何监视类构造器的玩笑?

export class Foo {
    public static bar() {
        doSomething();
    }

    constructor(paramA, paramB) {

    } 
}
Run Code Online (Sandbox Code Playgroud)

对于类中的方法,我们可以 jest.spyOn(Foo, 'bar')用来监视该方法。构造函数呢?我们如何监视对象的实例化?

javascript unit-testing jestjs

6
推荐指数
4
解决办法
5535
查看次数

C#参考麻烦

我正在大学学习算法课程,对于我的一个项目,我想在C#中实现一个红黑树(实现本身不是项目,但我决定选择帮助我) .

我的红黑树应该包含字符串键,我为每个节点创建的对象如下所示:

class sRbTreeNode
{
    public sRbTreeNode Parent = null;
    public sRbTreeNode Right = null;
    public sRbTreeNode Left = null;
    public String Color;
    public String Key;

    public sRbTreeNode()
    {
    }

    public sRbTreeNode(String key)
    {
        Key = key;
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经添加了一些打印树的基本方法,找到root,min/max键(按字母表)等等...

我在插入节点时遇到问题(因此,构建树).熟悉红黑树的人都知道,在向一侧添加节点时,您可能已经改变了树的平衡.要解决此问题,您需要围绕树上的节点"旋转"以平衡树.

我在伪代码中编写了一个RightRotate和LeftRotate方法,然后当我尝试在C#中实现它时,我遇到了一堆我创建的sRbTreeNode对象的引用问题.

这是我为LeftRotate方法编写的伪代码:

LeftRotate(root, node)
    y <- node.Right;
    node.Right <- y.Left;
    if (y.Left != null)
        y.Left.Parent <- node;
    y.Parent <- node.Parent;
    if (node.Parent = null)
        root <- y;
    else
        if (node = node.Parent.Left)
            node.Parent.Left = y;
        else
            node.Parent.Right = …
Run Code Online (Sandbox Code Playgroud)

c# algorithm red-black-tree

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

为什么CheckBox.IsChecked属性可以为Nullable <bool>?

在我看来,这似乎是一个有趣的问题 -

为什么IsCheckedWPF类型bool?(或Nullable<bool>)中的复选框控件的属性,我的意思是复选框控件如何具有'null'的值?

c# wpf checkbox

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

什么时候在asp.net WebService中调用Application_End

什么时候Application_End在WebService的情况下才会触发?

我阅读(Application_End global.asax),每次卸载应用程序时都会调用Application_End.这是否意味着每次调用Web服务中的方法后?

我有一段代码,我需要在第一次调用IIS时再触发一次,并在最后一次调用IIS之后(以及在回收之间)再次触发,我不能在每次WebService请求和响应时触发它...

asp.net iis web-services global-asax

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

如果我具有继承的类类型的MethodInfo,如何获取接口的MethodInfo?

我有MethodInfo一个关于类类型的方法,该方法是该类实现的接口定义的一部分。
如何MethodInfo在类实现的接口类型上检索方法的匹配对象?

.net c# reflection methodinfo

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

哪里kafka存储主题的分区?

我在linux服务器上安装了kafka.我定义了一个带有几个分区的主题.我知道每个分区都映射到磁盘上的物理文件,但我不知道它在哪里.
分区文件保存在哪里?

apache-kafka

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

流畅的NHibernate SqlDateTime溢出异常

我正在映射一个非常简单的Users表,我有一个名为'LastLoginDate'的列,它在sql server中被定义为可为空.

我的映射看起来像这样:

public Users {
    Id(x => x.UserId);
    Map(x => x.UserName);
    ...
    ...
    Map(x => x.LastLoginDate).Nullable();
}
Run Code Online (Sandbox Code Playgroud)

但每次我尝试以编程方式保存此实体时,我总是得到SqlDateTime溢出异常.如果我尝试在此列中输入带有"null"的手动sql语句,则可以正常工作.如果我只评论这个属性,它也会工作.

可能是什么问题???

提前致谢!

.net c# nhibernate orm fluent-nhibernate

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

与NEST ElasticSearch库的连接池

我目前正在使用NEST ElasticSearch C#Library与ElasticSearch进行交互.我的项目是一个MVC 4 WebAPI项目,它基本上构建了一个RESTful Web服务来访问目录服务信息.

我们刚刚开始与NEST合作,并且一直在为缺乏文档而磕磕绊绊.什么是有用的,但它有一些非常大的漏洞.目前,我们需要的一切工作,但是,我们遇到的问题是连接有时需要一整秒.我们想要做的是使用某种连接池,类似于您与SQL Server交互的方式.

以下是有关如何使用nest连接的文档:http://mpdreamz.github.com/NEST/concepts/connecting.html

以下是我们项目的相关代码段:

public class EOCategoryProvider : IProvider
{
    public DNList ExecuteQuery(Query query)
    {
        //Configure the elastic client and it's settings
        ConnectionSettings elasticSettings = new ConnectionSettings(Config.server, Config.port).SetDefaultIndex(Config.index);
        ElasticClient client = new ElasticClient(elasticSettings);

        //Connect to Elastic
        ConnectionStatus connectionStatus;
        if (client.TryConnect(out connectionStatus))
        {
            // Elastic Search Code here ...
        } // end if
    } // end ExecuteQuery
} // end EOCategoryProvider
Run Code Online (Sandbox Code Playgroud)

从查看文档,我看不到连接池的任何规定.我一直在考虑实现我自己的(有3个或4个ElasticClient对象存储,并选择它们循环风格),但我想知道是否有人有更好的解决方案.如果没有,有没有人有关于手动实现连接池的最佳方法的建议?有什么文章指向?

感谢你们提出的任何事情.

更新:这似乎与在每个请求和特定网络设置上调用TryConnect有关.当在与弹性盒子相同的网络上使用机器时,问题完全消失了; 我的开发机器(平均350毫秒到弹性盒子)似乎有时无法建立http连接,这导致了TryConnect的长时间.

c# connection-pooling elasticsearch nest

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

asp.net服务器控件 - 避免添加多个javascript

我创建了一个派生自LinkBut​​ton的asp.net Server控件,并向页面呈现一个小的javascript函数.

我想在页面上多次使用此控件,但只想在页面上呈现一次javascript.另一方面,我宁愿不手动将其添加到js文件中,因为我不希望将来忘记添加js文件.

这样做的最佳方式是什么?

asp.net custom-server-controls

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

asp.net mvc在帖子后清除表格

我是.net程序员,但对mvc来说是新手.

我创建了一个新的mvc页面,上面有一个简单的表单 - 2个文本框和一个提交按钮.发布后,它转到我的服务器端方法,其中用户信息输入到数据库中,然后我想将用户返回到相同的确切形式但再次清空.

当我使用"返回视图("索引",新的myIndexObject());" 它将用户返回到与表单相同的页面,但是已经填写的信息就好像控件上有ViewState一样.我怎么摆脱这个?

viewstate asp.net-mvc

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

第一个<>扩展方法是否有安全版本?

我想使用First<TSource>扩展方法来查找List<>我所拥有的特定对象的第一个出现,但它可能不在列表中,我不希望它给我一个例外,因为我不相信这是一个好习惯有一个空的catch范围,所以我只想让它返回null.

这可能吗 ?

c# extension-methods

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