小编Mat*_*ley的帖子

.NET中是否存在已排序的队列?

我需要一个相当专业的.NET集合,我不认为BCL可以帮助我,但我想如果有人知道类似的事情,我会把它扔出去.

基本上,我的要求是:

  • 我有一对值列表,例如:(3,10),(5,10),(3,7),(5,5)
  • 订单很重要,即.(3,10)!=(10,3)
  • 单个值的副本很好,但应删除重复对(最好是静默).
  • 踢球者是,我需要这个列表一直排序.我只对任何时候排序算法定义的列表中的第一个值感兴趣.

所以,我希望能够做的一些示例代码(正如我设想它可能会实现,其他适合上述的实现都很好):

public class Pair
{
    public Pair(int first, int second)
    { First = first; Second = second; }
    public int First { get; set; }
    public int Second { get; set; }
}

SortedQueue<Pair> foo = new SortedQueue<Pair>((left, right) => {
    return right.First - left.First;
});

foo.Add(new Pair(10, 3));
foo.Add(new Pair(4, 6));
foo.Add(new Pair(6, 15));
foo.Add(new Pair(6, 13)); // This shouldn't cause a problem

Pair current = foo.Shift(); // current = (4, 6)
Run Code Online (Sandbox Code Playgroud)

c# collections

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

搜索引擎处理Javascript吗?

根据这个页面,它们看起来似乎没有,因为它们实际上没有运行它,但该页面是2年(从版权信息判断).

我问这个问题的原因是因为我们使用Javascript将我们网站上的文字替换为其他更加印刷的声音内容.我们担心这可能会影响我们网站的可抓取性/搜索引擎优化,因为我们所取代的通常是标题; 即.<h1>,<h2>等等.

搜索引擎机器人会看到我们的原始代码,还是会运行Javascript并查看替换的文本?

html javascript seo search-engine

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

是否有一种简单的方法来打开Uri并得到它指向的任何东西?(C#)

我有一个Uri对象被传递给我的类的构造函数.

我想打开文件的Uri指向,无论是本地,网络,http,无论如何,并将内容读入字符串.有没有一种简单的方法可以做到这一点,或者我是否必须尝试解决一些问题,想Uri.IsFile弄清楚如何尝试打开它?

c# uri

8
推荐指数
2
解决办法
7102
查看次数

如何使用C#获取硬盘序列号?

如何在不使用dll且VISTA支持的情况下获取硬盘序列号

c# hard-drive windows-vista

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

在运行时与扩展方法相关的开销是多少?(.净)

可能重复:
扩展方法性能

在一个CPU和/或内存访问限制的数据处理应用程序中,一行扩展方法的开销是否显着?它是否比普通函数调用更高,还是仅仅是编译器/ IDE抽象?例如,如果以下函数每秒被调用数千次,那么它是否会被告知:

public static void WriteElementString(this XmlTextWriter writer, string name, int data)
{
    writer.WriteElementString(name, data.ToString());
}
Run Code Online (Sandbox Code Playgroud)

.net extension-methods

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

编程语言需要哪些语言功能才能生成编译器?

编程语言似乎经历了几个阶段.首先,有人想出了一种新语言Foo Language.编译器/解释器是用另一种语言编写的,通常是C语言或其他一些低级语言.在某些时候,FooL会成熟并逐渐成长,最终某人会在FooL本身为FooL编写编译器和/或解释器.

我的问题是:语言功能的最小子集是什么,有人可以自己实现该语言?

language-agnostic compiler-theory

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

为什么我不能将零设置为数组中的第一个键?

这段代码的结果:

for($i = 0; $i <= 7; $i++){

    $eachone[] = array ('a' => '1', 'b' => '2', 'c' => '3');

$a[] = array($i => $eachone);

unset($eachone);

}

$json_string = json_encode($a);
echo $json_string;
Run Code Online (Sandbox Code Playgroud)

是:

[
    [
        [
            {
                "a": "1",
                "b": "2",
                "c": "3"
            }
        ]
    ],
    {
        "1": [
            {
                "a": "1",
                "b": "2",
                "c": "3"
            }
        ]
    },
    {
        "2": [
            {
                "a": "1",
                "b": "2",
                "c": "3"
            }
        ]
    },
    {
        "3": [
            {
                "a": "1",
                "b": "2", …
Run Code Online (Sandbox Code Playgroud)

php arrays json

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

如何在Windows上检测JVM的存在和位置?

我正在尝试检测是否安装了JVM以及它所在的位置以便我可以运行java.exe.

我设法找到的就是HKCU\Software\JavaSoft\Java Runtime Environment\<ver>.假设安装它是否安全%PROGRAMFILES%\Java\jre<ver>?

我试图在C#中这样做,但我认为答案是语言无关的,所以任何答案都值得赞赏.

编辑:好的傻我,我找到了如何检测是否在使用c#的计算机上安装了java运行库,这指向了HKLM\Software\JavaSoft\Java Runtime Environment\CurrentVersion哪个有效HKLM\Software\JavaSoft\Java Runtime Environment\<ver>\JavaHome.我设法找到了这些而不是在下面HKLM\Software\Wow6432Node\JavaSoft\Java Runtime Environment.有没有办法检测我应该检查哪些不试图嗅探CPU类型?

java windows jvm

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

在.NET中实现良好的zlib?

我正在构建一个网络应用程序,需要能够从正常的网络流量切换到zlib压缩流,即中流.我对这个问题的看法涉及布尔开关,当打开时会导致网络代码通过我可以IEnumerable<byte>输入的类传递所有数据,然后拉出解压缩的流,将其传递给现有的协议解析代码.

我看过的事情:

  • ZLib.NET - 看起来有点...... Ecclectic,并不是我想要的.尽管如此,仍然会有一个良好的开端.(Jon Skeet的评论在这里也很难激励我.)
  • SharpZipLib - 这似乎根本不支持zlib?任何人都可以确认或否认这个吗?

我非常喜欢和所有托管的解决方案,但是让我们拥有它......在.NET中是否存在这个库的任何其他实现,可能更适合我想要做的事情,或者我应该采用ZLib. NET并建立起来作为一个开始?

PS:

乔恩要求更多细节,所以在这里.

我正在尝试实施MCCP 2.这涉及在网络流中发送的信号,并且该信号之后的所有内容都是zlib压缩数据流.在上面的链接中,它们与它们的含义完全相同.无论如何,要清楚,我正在接收这个(客户端,而不是服务器),我已经从网络流中读出了一堆数据,并且切换将在此中间(在所有至少可能),所以任何解决方案都需要能够在接管NetworkStream之前将一些额外的数据输入其中(或者我手动输入其余的数据).

.net c# zlib

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

为什么C#没有为char定义一个加法运算?

正如标题所说.与此问题相关.

为什么以下代码不起作用?这在逻辑上看似合理.

string foo = 'a' + 'b'; // Fails with an invalid int -> string conversion
Run Code Online (Sandbox Code Playgroud)

现在,从上面的链接问题我们可以推断出这里发生了什么:编译器使用隐式char - > int转换,然后添加这些值.这让我相信一定不能为chars 定义一个加法运算!这是真的,如果是的话,为什么没有呢?

编辑:普遍的共识是,没有一个定义的那么多,我预期定义的那个不是.

c#

7
推荐指数
2
解决办法
4396
查看次数