就最佳做法而言,哪个更好:
public void SomeMethod(string str)
{
if(string.IsNullOrEmpty(str))
{
throw new ArgumentException("str cannot be null or empty.");
}
// do other stuff
}
Run Code Online (Sandbox Code Playgroud)
要么
public void SomeMethod(string str)
{
if(str == null)
{
throw new ArgumentNullException("str");
}
if(str == string.Empty)
{
throw new ArgumentException("str cannot be empty.");
}
// do other stuff
}
Run Code Online (Sandbox Code Playgroud)
第二个版本似乎更精确,但也比第一个更麻烦.我通常选择#1,但我想我会检查是否有#2的争论.
假设我有以下代码:
foreach(string str in someObj.GetMyStrings())
{
// do some stuff
}
Run Code Online (Sandbox Code Playgroud)
将someObj.GetMyStrings()在循环的每次迭代中调用?改为做以下事情会更好吗:
List<string> myStrings = someObj.GetMyStrings();
foreach(string str in myStrings)
{
// do some stuff
}
Run Code Online (Sandbox Code Playgroud)
?
我一直convert(varchar,datefield,112)在每个日期字段上执行一次我在SQL服务器中的'之间'查询中使用,以确保我只根据日期时间字段的时间部分计算日期而不会丢失任何日期.
现在,我听说转换器不可索引,并且在SQL Server 2005中有更好的方法来比较查询中日期时间的日期部分,以确定日期是否属于某个范围.
做这样的事情的最佳,可索引的方法是什么:
select * from appointments
where appointmentDate>='08-01-2008' and appointmentDate<'08-15-2008'
Run Code Online (Sandbox Code Playgroud) 我在其中一个团队中遇到了一个问题.其中一个人在我看来有点SQL快乐,并希望将一个小型python FTP下载器生成的日志信息存储到数据库中,而不仅仅是很好的格式文本文件.现在我一直认为只有在加速数据库时才能使用数据库,或者为数据提供更可靠的接口.你有什么看法?
谢谢!
编辑:在这个特定的实例中,数据将每天增长大约100行,并被处理一次并丢弃.虽然这个案例是直接关注的,但我对一般答案更感兴趣.
编辑2:感谢您的所有回复!我用最多的选票作为答案标记了答案,因为我觉得它简明扼要地说明了你们所做的大部分要点,但我会观察并看看是否还有其他问题.
我现在很想写下面的内容:
public class Class1()
{
public Class1()
{
MyProperty = new Class2(this);
}
public Class2 MyProperty { get; private set; }
}
public class Class2()
{
public Class2(Class1 class1)
{
ParentClass1 = class1;
}
public Class1 ParentClass1 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
将"this"作为参数传递给设计问题的标志?什么是更好的方法?
是否有任何您知道的视觉线索表明项目的"可拖动性"?
显而易见的:
谢谢你的帮助!
我想根据我当前连接到的数据库修改SQL Server Management Studio中查询窗口的外观.例如,将黄色背景用于生产数据库.有没有办法做到这一点?
是否还有一种方法可以更改底部查询状态栏的默认颜色(当未从"已注册的服务器"选项卡中选择服务器时)?当我不记得使用已注册的服务器时,我还想做出明亮鲜明的颜色.
我曾经做过一个C++项目,花了大约一个半小时进行完全重建.小编辑,构建,测试周期大约需要5到10分钟.这是一场没有生产力的噩梦.
您需要处理的最差构建时间是多少?
您使用了哪些策略来改善大型项目的构建时间?
更新:
您认为使用的语言对这个问题有多大责任?我认为C++很容易对大型项目产生大量依赖,这通常意味着即使对源代码进行简单的更改也可能导致大规模的重建.您认为哪种语言最能应对大型项目依赖问题?
究竟是如何foreach在C#中实现的?
我想它的一部分看起来像:
var enumerator = TInput.GetEnumerator();
while(enumerator.MoveNext())
{
// do some stuff here
}
Run Code Online (Sandbox Code Playgroud)
但是我不确定究竟发生了什么.enumerator.Current每个周期使用什么方法返回?它是为[每个循环]返回还是需要匿名函数或其他东西才能执行foreach?
如何在HTML iFrame中检测滚动条的存在(使用Javascript)?
我已经尝试过了:
var vHeight = 0;
if (document.all) {
if (document.documentElement) {
vHeight = document.documentElement.clientHeight;
} else {
vHeight = document.body.clientHeight
}
} else {
vHeight = window.innerHeight;
}
if (document.body.offsetHeight > vHeight) {
//when theres a scrollbar
}else{
//when theres not a scrollbar
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
this.scrollLeft=1;
if (this.scrollLeft>0) {
//when theres a scrollbar
this.scrollLeft=0;
}else{
//when theres not a scrollbar
return false;
}
Run Code Online (Sandbox Code Playgroud)
没有成功..
我在DOM Inspector上搜索了javascript objets,但没有找到任何内容.
是否可以在javacscript中检测iframe中的滚动条存在?
iframe内容来自同一个域.
直到现在都没有成功..