Excel可以将我的CSV中的URL解释为超链接吗?如果是这样,怎么样?
我开始使用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
?我不是试图过早地优化任何东西,因为我的方法更多的是关于可读性而不是速度,但我也想知道我不是在自己的脚下射击.
我一直在查看本教程中的代码,我发现它用于My.Computer.Name
保存不应在计算机之间漫游的设置.但是,完全有可能用户拥有两台名称相同的PC.例如,如果他们想在每台PC上拥有相同的用户名,他们最终可能会得到两台名为Username-PC的PC.
识别不同PC有哪些好方法?PC是否有与之关联的GUID,或者我是否应该考虑从某些硬件中提取序列号?我不关心通过重新安装Windows是否仍然存在.
(我链接的教程是在VB.Net中,但我在C#中实现它)
我正在提供旨在由浏览器无限期缓存的静态内容.Chrome正在按预期缓存它,但仍在花时间"下载"它.我使用的是Chrome 46.0.2490.71.
正如您所看到的,内容是从缓存提供的,但内容下载仍需要68毫秒.这导致svg图像在每次页面加载时闪烁,即使文件被缓存.
以下是隐身模式中页面加载的相关时间线信息:
每个事件的"总时间"和"事件时间"字段为零.使用本地提供的文件(但仍然来自缓存)复制此项,"接收数据"事件只能看一次.
一些有趣的注意事项:
有什么可能的原因?
如何在F#中创建扩展方法,例如,像这个C#扩展:
public static string Right(this string host, int index)
{
return host.Substring(host.Length - index);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Perlin噪声生成地形.我理解如何使用笛卡尔坐标生成它,但不能完全围绕它如何在球体上工作.我知道你可以将2D表面投影到球体上,但是这种扭曲不会破坏噪声分布吗?我可以想出用于在球体表面上产生均匀噪声的最佳想法是将球体上的点映射到3D笛卡尔坐标并使用3D噪声函数.(基本上,为了产生一个立方体的噪音并"刮掉"角落使它变圆,就像它一样.)有没有更好的方法我错过了?
如何从Resharper实时模板中删除用户类别?如果仅选择了某个类别(而不是模板本身),则会禁用删除按钮:
没有项目提供上下文菜单,编辑模板不提供任何方式来编辑它的类别.
我最近对Getters and Setters遇到了很多不同的看法,所以我想我应该把它变成自己的问题.
一个先前的问题我的收到的规定制定者不应该有任何的副作用立即发表评论(后来被删除),和SetProperty
方法将是一个更好的选择.
实际上,这似乎也是微软的意见.但是,它们的属性通常会引发事件,例如设置Resized
表单Width
或Height
属性时.OwenP还指出"你不应该让一个房产抛出异常,房产不应该有副作用,顺序应该无关紧要,房产应该相对快速地返回."
然而,Michael Stum声明在验证setter中的数据时应该抛出异常.如果你的setter没有抛出异常,你怎么能有效地验证数据,因为这个问题的许多答案都表明了这一点?
什么时候你需要举办一个活动,比如几乎所有的微软控制公司呢?那么你是不是受到任何订阅你的活动的怜悯?如果他们的处理程序执行大量信息,或者自己抛出错误,那么你的setter会发生什么?
最后,getter中的延迟加载怎么样?这也可能违反以前的准则.
放置在getter或setter中可以接受什么,以及只有accessor方法应该保留什么?
编辑:
来自MSDN中的另一篇文章:
这些
get
和set
方法通常与其他方法没有区别.它们可以执行任何程序逻辑,抛出异常,被覆盖,并使用编程语言允许的任何修饰符进行声明.但请注意,属性也可以是静态的.如果属性是静态的,那么get
和set
方法可以做什么有限制.有关详细信息,请参阅编程语言参考
我正在使用ASP.NET预览模板在VS2015中编写一个网站.不幸的是,Dropbox .dropbox.attr
在我的项目的每个文件夹中添加了一堆文件,解决方案资源管理器正在显示这些文件:
请注意,我没有手动将它们添加到项目中(它们未在我的中引用Web.xproj
),并且我没有选择"显示所有文件".我已将它们添加到我的.gitignore
.选择文件时没有"删除"选项:
最后,我尝试将它们添加到我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
Visual Studio 11的UI全是黑白的.除了,对于扩展添加的菜单,属性窗口中的两个按钮,以及工具箱中的ToolStripContainer图标.(为什么那个?不知道.)
有可能让我心爱的颜色回来吗?据我所知,自从他们六十年代发明以来,整个色彩的东西已被大肆宣传,但作为一个与它一起长大的人,我发现自己现在都想念它.
但严肃地说,颜色是一种快速的视觉识别符,使得搜索常用图标比识别16x16黑白形状更容易.此外,正如我之前所说,扩展程序将自己的彩色图标添加到Visual Studio中,虽然它们很适合VS 2010,但它们现在却让人眼前一亮.
我发现,从"轻"到"黑暗"更改的选项,但我可以请改回为"彩色",或已微软nixed这为他们的新Metro风格的程序?
.net ×2
c# ×2
algorithm ×1
asp.net-core ×1
csv ×1
excel ×1
f# ×1
getter ×1
guid ×1
http-caching ×1
hyperlink ×1
perlin-noise ×1
properties ×1
resharper ×1
setter ×1