我最近阅读了一些使用特殊语法的代码{},我问过一位经验丰富的Java开发人员,但他也无法回答.
public void doSomething() {
someWorks();
{
someVariables;
someMoreWorks();
}
someEvenWorks();
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
为什么代码作者将这些行放在里面{}?我想{}在执行退出后会立即释放变量中声明的变量{},因为我不能再访问这些变量{}了吗?
我正在尝试模拟我的小米 Mi Max 2 上的触摸。我尝试了monkeyrunner但失败了,所以我正在尝试 adb。但是,每个命令都是通过Killed响应返回的,并且没有按下触摸/键。这是什么意思?
我有一个简单的代码FolderPicker:
var diagFolder = new FolderPicker();
diagFolder.FileTypeFilter.Add("*");
var outputFolder = await diagFolder.PickSingleFolderAsync();
if (outputFolder == null) { return; }
Run Code Online (Sandbox Code Playgroud)
它在首次启动时运行良好。但是,在第二次调用时,该Select Folder按钮被禁用,用户无法选择同一个文件夹,尽管它完全有效。如果我想选择同一个文件夹,我必须返回一个级别并重新输入该文件夹。
任何人都遇到此问题并知道解决方法?
编辑:据我所知,这实际上不是 UWP 代码问题,而是 Windows 问题,所以我在这里发布了反馈:https : //aka.ms/AA1hloz。我认为在那里投票应该会有所帮助。
在.NET Framework 4.7 doc中,Microsoft标记为SmtpClient过时,原因如下:
SmtpClient及其网络类型设计不佳,我们强烈建议您使用https://github.com/jstedfast/MailKit和 https://github.com/jstedfast/MimeKit代替
我很好奇,也没有这方面的专家.这个"设计不佳"究竟是什么MS必须推荐外部图书馆呢?对仍然使用它的项目有多糟糕?
假设我有一个用 C# 9 编写的简单脚本,如下所示:
using System;
using System.IO;
// What to put in the ???
var exeFolder = Path.GetDirectoryName(typeof(???).Assembly.Location);
Run Code Online (Sandbox Code Playgroud)
之前,通过完整的程序,我们可以将该Main类用作“指示器”类。this并且this.GetType()不可用,因为从技术上讲它位于静态方法内。我现在怎样才能得到它?
我在输入问题时想到的解决方法是Assembly.GetCallingAssembly():
var exeFolder = Path.GetDirectoryName(Assembly.GetCallingAssembly().Location);
Run Code Online (Sandbox Code Playgroud)
它适用于我的情况,但我只能获取Assembly,而不是TypeInfo代码正在运行的位置。
考虑以下代码:
switch ("")
{
case "":
using var s = new MemoryStream();
break;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码不会编译并显示以下错误:“A using 变量不能直接在 switch 部分中使用(考虑使用大括号)”。
修复已经在建议中,但我的问题是为什么下面的代码是合法的,但上面的代码不是?为什么 C# 不能只允许前面的代码?
switch ("")
{
case "":
{
using var s = new MemoryStream();
}
// break can be inside or outside the braces
break;
}
Run Code Online (Sandbox Code Playgroud) .NET 6 现在有PriorityQueue<TElement,TPriority>这非常有用。该文档还不是很清楚(在提出问题时,该文档仍然适用于 RC1)是否是线程安全的。两件事情:
它驻留在 中System.Collections.Generic,并且 中似乎没有等效项System.Collections.Concurrent。
TryDequeue它确实有名为和 的方法TryPeek。当然,它们可能只是在队列为空时不会抛出异常的方法,但它确实给人一种并发集合的印象。
我可以将它用于多线程环境而无需包装/锁定(例如在 ASP.NET Core 网站中)吗?我不知道的任何并发等效项(如果可能的话,我尝试不使用第 3 方包)?
我正在开发一个 CDN 服务器,这是一个普通的 MVC 项目。但是,在项目文件夹中,假设我有CDN文件夹,并且我希望每个人都可以访问其中的任何文件,具有任何文件扩展名,并且CDN仅适用于文件夹。也就是说,我不希望我的web.config文件或Views文件夹被公开。
Controller有没有办法在不使用自定义或的情况下做到这一点RouteHandler?
编辑:正如指定的那样,我正在 IIS 或 Web.config 或其他地方寻找一种在 Controller 或 RouteHandler 中编写代码的方法,因此它不是重复的。
根据 David Gunderson 的回答,这是我允许 CDN 文件夹的 web.config:
<location path="CDN">
<system.webServer>
<staticContent>
<mimeMap fileExtension="*" mimeType="application/octet-stream"/>
</staticContent>
</system.webServer>
</location>
Run Code Online (Sandbox Code Playgroud) 我正在使用NullableContextOptions启用了(可空引用)的C# 8.0 。
我有一个带有此签名的函数:
public static (int line, string content)? GetNextNonEmptyLineDown(this IList<string> contents, int fromLine)
Run Code Online (Sandbox Code Playgroud)
基本上,如果有非空行,它返回行和内容,如果没有则返回。
问题是我不知道如何解构它。如果我尝试:
var (firstLineIndex, firstLine) = content.GetNextNonEmptyLineDown(0);
Run Code Online (Sandbox Code Playgroud)
我收到 4 个语法错误:
所以我只能使用:
var lineInfo = content.GetNextNonEmptyLineDown(0);
var firstLineIndex = lineInfo.Value.line;
var firstLine = lineInfo.Value.content;
Run Code Online (Sandbox Code Playgroud)
这破坏了目的。lineInfo是类型struct<T> where T is (int line, string content)
无论如何要解构一个可为空的元组?
编辑:发布问题后,我想到允许解构可空元组是没有意义的,因为可能无法确定变量的数据类型。这是我目前的修复,但想知道这是否是最好的方法:
var lineInfo = content.GetNextNonEmptyLineDown(0);
if (lineInfo == null)
{
throw new Exception();
}
var (firstLineIndex, firstLine) = lineInfo.Value;
Run Code Online (Sandbox Code Playgroud) 注意:这不是这个问题的重复(它是针对 VS Code 的,我要求 Visual Studio - 2019 Community 如果适用)
我是 Python 新手(来自 C# .NET 背景),当切换到 Python 时,我注意到滚动条旁边有一个巨大的条:
他们叫什么?我如何禁用它们?为什么 Python 环境有它们(我以前在使用 C# 时从未见过它们),它对常见场景有帮助吗?如果可以的话我真的应该禁用它们吗?
我查看了 Python 的选项,没有看到任何可能有用的东西。
编辑:找到该选项,它位于“文本编辑器”>“Python”>“滚动条”(不是顶级 Python 部分,而是在“文本编辑器”下)。在“行为”部分,我将Source overview选项更改为Off,现在它就像 C# 一样。
c# ×5
.net ×2
.net-6.0 ×1
adb ×1
adb-shell ×1
android ×1
asp.net-mvc ×1
brackets ×1
c#-9.0 ×1
coding-style ×1
dialog ×1
file ×1
grammar ×1
input ×1
java ×1
networking ×1
nullable ×1
python ×1
reflection ×1
smtp ×1
smtpclient ×1
touch ×1
tuples ×1
uwp ×1
valuetuple ×1
windows-10 ×1