小编boo*_*ife的帖子

如何确定客户端是否使用HTTP/2进行连接?

在ASP.NET中,如何在运行时发现客户端是否使用HTTP 2进行连接?

.net asp.net http2

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

如何在 .NET 中制造空字符串?

我写了一段优化的代码,其中包含null和 空字符串的特殊情况。我现在正在尝试为此代码编写单元测试。为了做到这一点,我需要两个不同对象的空(零长度)字符串对象。像这样:

string s1, s2;
Assert.IsTrue(s1.Length == 0 && s2.Length == 0);
Assert.IsTrue(!ReferenceEquals(s1, s2));
Run Code Online (Sandbox Code Playgroud)

事实证明,大多数 .NET Framework API 字符串都在检查空结果。string.Empty在所有这些情况下,他们都会回来。例如,"x".Remove(0, 1)返回string.Empty.

如何创建新的零长度字符串对象?

.net c# string

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

在Visual Studio 2017中的未处理异常后启用编辑

如何在Visual Studio 2017中处理未处理的异常后继续执行?

在2015版及更低版本中,通过单击Enable Editing"将调用堆栈展开到异常之前的点" 可以轻松完成.然后可以编辑执行点,变量和代码.


当库抛出异常时,此选项消失:

在此输入图像描述

"".Substring(1);
Run Code Online (Sandbox Code Playgroud)

如果用户代码中发生异常,它仍然有效:

在此输入图像描述

int x = 0;
Console.WriteLine(1 / x);
Run Code Online (Sandbox Code Playgroud)

注意可以拖动的黄色箭头.


我真的希望这个功能没有被删除,因为挽救一个崩溃的程序(这里,通过设置x = 1,例如,更改字符串常量或跳过有问题的行)是我做了很多事情.现在我在这种状态下完成了99%的多小时操作,我真的很想通过抑制一个不重要的错误来解救它.

这是.NET 4.6.1上的Visual Studio 2017 build 26228.

c# visual-studio visual-studio-2017

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

是否有任何C或C++标准识别存储器映射文件的存在?

我只是想知道是否可以在便携式C或C++中使用内存映射文件.我想不是因为据我所知,没有标准能够识别内存映射文件的存在.

使用内存映射可以在两个地址处具有相同的字节.此外,我认为甚至不使用一块内存而不在那里构建一个对象(除了通过char*).因此,如果我们想将现有的映射文件视为应该是未定义行为的整数数组.

那么关于内存映射文件和标准的情况如何呢?

c c++ memory-mapped-files language-lawyer

4
推荐指数
2
解决办法
301
查看次数

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

如何以初学者友好的方式从控制台读取int?

我正在帮助别人学习Java.我是高级C#开发人员.我一般都了解编程,但我不了解Java API.

Web上关于如何从控制台读取int的大多数建议都很复杂.它涉及BufferedReader等等InputStreamReader.这对于初学者来说是完全不可理解的.

我想为他提供一个static int readIntFromConsole()能够做到这一点的功能.这个功能的主体是什么?

java

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

忽略异步任务方法的返回值

这是场景:在我的WPF应用程序中,我希望始终保持循环运行以执行各种操作.我想到了这种模式:

    void MainWindow_OnLoaded(object sender, RoutedEventArgs e)
    {
        SomeProcessAsync(); //throw away task
    }

    async Task SomeProcessAsync()
    {
        while (true)
        {
            DoSomething();

            await Task.Delay(1000);
        }
    }
Run Code Online (Sandbox Code Playgroud)

由于返回值未使用,该调用会触发警告.沉默警告的最简洁方法是什么?

#pragma warning disable 4014
            AddItemsAsync(); //throw away task
#pragma warning restore 4014
Run Code Online (Sandbox Code Playgroud)

这有效,但看起来很讨厌!

顺便说一句,我也可以使用计时器,但我喜欢这个循环的简单性.

c# compiler-warnings async-await

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

当空条件运算符短路时,它是否仍然评估方法参数?

null条件运算符可用于跳过null目标上的方法调用.在这种情况下是否会评估方法参数?

例如:

myObject?.DoSomething(GetFromNetwork());
Run Code Online (Sandbox Code Playgroud)

什么GetFromNetwork时候myObjectnull

c# c#-6.0 null-conditional-operator

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

Microsoft C 运行时中的 msvcp140_1.dll 和 msvcp140_2.dll 文件是什么?

我正在尝试将 C 库导入到 Visual Studio 项目中。该库附带以下文件:

msvcp140.dll
msvcp140_1.dll
msvcp140_2.dll
Run Code Online (Sandbox Code Playgroud)

我知道这些是 Microsoft C 运行时 DLL 文件。但我想更多地了解这些文件的用途。我想知道我需要什么二进制文件以及包括它们在内的后果。

msvcp140_1.dllmsvcp140_2.dll文件的目的是什么?

c msvcrt

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

在没有UDF和没有CLR的情况下,在T-SQL中从字符串中修剪所有空白字符的好方法是什么?

.NET函数string.Trim 修剪了一组相当广泛的空白字符.如何以最佳方式模拟这种确切的行为T-SQL?

LTRIM并且RTRIM只修剪空间角色,这是不够的.

使用SQL CLR这很容易,但这并不总是可行的,而且调用成本也很高.所以我想避免使用SQL CLR.

此外,标量UDF会强制执行串行计划,并且调用速度很慢.所以它可能不应该是标量UDF.

鉴于这些限制,最好的方法是什么?

.net t-sql sql-server

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

"零条件运算符短路"是什么意思?

未来访问者的注意事项:此问题基于错误的repro代码.该?.运营商确实短路.您现在可以关闭此浏览器选项卡.


网上有很多来源声称空条件运算符(?.)短路(例如http://www.informit.com/articles/article.aspx?p=2421572,搜索"电路").我无法发现任何这样的事情:

    static void Main()
    {
        var c = new C();

        Console.WriteLine(c?.Inner?.Inner); //does not rely on short circuiting, works
        Console.WriteLine(c?.Inner.Inner); //throws NullReferenceException
    }

    class C
    {
        public C Inner;
    }
Run Code Online (Sandbox Code Playgroud)

这里,第一行是因为第二行?..第二个?.看到null作为其第一个操作数,因此也返回null.这不是短路.

显然,即使触发了null情况,链的其余部分也会执行.链条没有中止.对我来说,短路意味着链条中止.MSDN声称是这种情况,但代码示例并未证明短路:

//The last example demonstrates that the null-condition operators are short-circuiting
int? count = customers?[0]?.Orders?.Count();
// null if customers, the first customer, or Orders is null
Run Code Online (Sandbox Code Playgroud)

在C#6开发周期中,这种行为是否曾经发生过变化?这可以解释网络上的不良消息来源.如果不存在,为什么会有这么多关于短路的讨论呢?我可能在这里误解了一些东西.

不是重复,因为它是关于操作员是否短路(答案:否,尽管接受的答案没有说明).这个候选人是关于无效的布尔人,否则无关.

c# c#-6.0 null-conditional-operator

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