小编dlr*_*as2的帖子

Excel可以将我的CSV中的URL解释为超链接吗?

Excel可以将我的CSV中的URL解释为超链接吗?如果是这样,怎么样?

csv excel hyperlink

65
推荐指数
5
解决办法
4万
查看次数

我是否在破坏StringBuilder的效率?

我开始使用StringBuilder优先于直连接,但似乎它缺少一个关键的方法.所以,我自己实现了它,作为扩展:

public void Append(this StringBuilder stringBuilder, params string[] args)
{
    foreach (string arg in args)
        stringBuilder.Append(arg);
}
Run Code Online (Sandbox Code Playgroud)

这会导致以下混乱:

StringBuilder sb = new StringBuilder();
...
sb.Append(SettingNode);
sb.Append(KeyAttribute);
sb.Append(setting.Name);
Run Code Online (Sandbox Code Playgroud)

进入:

sb.Append(SettingNode, KeyAttribute, setting.Name);
Run Code Online (Sandbox Code Playgroud)

我可以使用sb.AppendFormat("{0}{1}{2}",...,但这似乎更不可取,并且仍然更难阅读.我的扩展是一个好方法,还是以某种方式破坏了它的好处StringBuilder?我不是试图过早地优化任何东西,因为我的方法更多的是关于可读性而不是速度,但我也想知道我不是在自己的脚下射击.

.net c# stringbuilder

52
推荐指数
3
解决办法
2529
查看次数

什么是好的唯一PC标识符?

我一直在查看本教程中的代码,我发现它用于My.Computer.Name保存不应在计算机之间漫游的设置.但是,完全有可能用户拥有两台名称相同的PC.例如,如果他们想在每台PC上拥有相同的用户名,他们最终可能会得到两台名为Username-PC的PC.

识别不同PC有哪些好方法?PC是否有与之关联的GUID,或者我是否应该考虑从某些硬件中提取序列号?我不关心通过重新安装Windows是否仍然存在.

(我链接的教程是在VB.Net中,但我在C#中实现它)

.net c# guid

41
推荐指数
5
解决办法
7万
查看次数

为什么Chrome会花时间从缓存中"下载"内容?

我正在提供旨在由浏览器无限期缓存的静态内容.Chrome正在按预期缓存它,但仍在花时间"下载"它.我使用的是Chrome 46.0.2490.71.

Chrome网络标签

正如您所看到的,内容是从缓存提供的,但内容下载仍需要68毫秒.这导致svg图像在每次页面加载时闪烁,即使文件被缓存.

以下是隐身模式中页面加载的相关时间线信息:

Chrome时间线标签

每个事件的"总时间"和"事件时间"字段为零.使用本地提供的文件(但仍然来自缓存)复制此项,"接收数据"事件只能看一次.

一些有趣的注意事项:

  • 使用相同的编码从本地计算机提供相同的文件不会产生相同的下载延迟.
  • 切换到隐身模式(无扩展名)会使下载延迟减半,但不会消除延迟.
  • 刷新页面更快,因为从服务器接收304响应似乎花费的时间少于仅从缓存加载响应.
  • 关闭开发工具似乎对延迟没有任何影响.
  • IE 11,Edge和Firefox 41没有显示任何延迟.

有什么可能的原因?

google-chrome http-caching google-chrome-devtools

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

如何创建扩展方法(F#)?

如何在F#中创建扩展方法,例如,像这个C#扩展:

    public static string Right(this string host, int index)
    {
        return host.Substring(host.Length - index);
    }
Run Code Online (Sandbox Code Playgroud)

extension-methods f#

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

如何在球面上产生Perlin噪声?

我正在尝试使用Perlin噪声生成地形.我理解如何使用笛卡尔坐标生成它,但不能完全围绕它如何在球体上工作.我知道你可以将2D表面投影到球体上,但是这种扭曲不会破坏噪声分布吗?我可以想出用于在球体表面上产生均匀噪声的最佳想法是将球体上的点映射到3D笛卡尔坐标并使用3D噪声函数.(基本上,为了产生一个立方体的噪音并"刮掉"角落使它变圆,就像它一样.)有没有更好的方法我错过了?

language-agnostic algorithm perlin-noise

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

如何从模板中删除用户类别?

如何从Resharper实时模板中删除用户类别?如果仅选择了某个类别(而不是模板本身),则会禁用删除按钮:

Resharper Live模板

没有项目提供上下文菜单,编辑模板不提供任何方式来编辑它的类别.

resharper resharper-6.0 resharper-7.0

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

Getters和Setters应该和不应该做什么

可能重复:
常规问题:何时使用Getter/Setter函数而不是使用Property

我最近对Getters and Setters遇到了很多不同的看法,所以我想我应该把它变成自己的问题.

一个先前的问题我的收到的规定制定者不应该有任何的副作用立即发表评论(后来被删除),和SetProperty方法将是一个更好的选择.

实际上,这似乎也是微软的意见.但是,它们的属性通常会引发事件,例如设置Resized表单WidthHeight属性时.OwenP还指出"你不应该让一个房产抛出异常,房产不应该有副作用,顺序应该无关紧要,房产应该相对快速地返回."

然而,Michael Stum声明在验证setter中的数据时应该抛出异常.如果你的setter没有抛出异常,你怎么能有效地验证数据,因为这个问题的许多答案都表明了这一点

什么时候你需要举办一个活动,比如几乎所有的微软控制公司呢?那么你是不是受到任何订阅你的活动的怜悯?如果他们的处理程序执行大量信息,或者自己抛出错误,那么你的setter会发生什么?

最后,getter中的延迟加载怎么样?这也可能违反以前的准则.

放置在getter或setter中可以接受什么,以及只有accessor方法应该保留什么?

编辑:

来自MSDN中的另一篇文章:

这些getset方法通常与其他方法没有区别.它们可以执行任何程序逻辑,抛出异常,被覆盖,并使用编程语言允许的任何修饰符进行声明.但请注意,属性也可以是静态的.如果属性是静态的,那么getset方法可以做什么有限制.有关详细信息,请参阅编程语言参考

getter setter properties

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

如何在VS2015中按名称隐藏解决方案资源管理器中的文件?

我正在使用ASP.NET预览模板在VS2015中编写一个网站.不幸的是,Dropbox .dropbox.attr在我的项目的每个文件夹中添加了一堆文件,解决方案资源管理器正在显示这些文件:

.dropbox.attr文件

请注意,我没有手动将它们添加到项目中(它们未在我的中引用Web.xproj),并且我没有选择"显示所有文件".我已将它们添加到我的.gitignore.选择文件时没有"删除"选项:

.dropbox.attr上下文菜单

最后,我尝试将它们添加到我project.json的排除部分:

...

"publishExclude": [
    "node_modules",
    "bower_components",
    "**.xproj",
    "**.user",
    "**.vspscc",
    ".dropbox.attr"
],

"exclude": [
    "wwwroot",
    "node_modules",
    "bower_components",
    ".dropbox.attr"
]

...
Run Code Online (Sandbox Code Playgroud)

有没有办法让所有具有此名称的文件都不出现在我的解决方案资源管理器中?

我不确定VS2015与新项目结构之间的相互作用,因此它可能是任何这些因素的结果.

projects-and-solutions asp.net-core-mvc visual-studio-2015 asp.net-core

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

我可以重新着色Visual Studio 11吗?

Visual Studio 11的UI全是黑白的.除了,对于扩展添加的菜单,属性窗口中的两个按钮,以及工具箱中的ToolStripContainer图标.(为什么那个?不知道.)

有可能让我心爱的颜色回来吗?据我所知,自从他们六十年代发明以来,整个色彩的东西已被大肆宣传,但作为一个与它一起长大的人,我发现自己现在都想念它.

但严肃地说,颜色是一种快速的视觉识别符,使得搜索常用图标比识别16x16黑白形状更容易.此外,正如我之前所说,扩展程序将自己的彩色图标添加到Visual Studio中,虽然它们很适合VS 2010,但它们现在却让人眼前一亮.

我发现,从"轻"到"黑暗"更改的选项,但我可以改回为"彩色",或已微软nixed这为他们的新Metro风格的程序?

visual-studio-2012

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