基本上我想要选择两个字符串列并将它们全部放入一个字符串数组中.现在我必须做两个选择并结合结果.这不是什么大不了的事,我觉得它看起来很尴尬.有关如何使用一个linq语句实现相同目标的任何建议?这是一个我正在使用的测试用例:
[TestFixture]
public class test {
public class Values {
public string Present { get; set; }
public string Previous { get; set; }
public bool Flag { get; set; }
}
[Test]
public void test1() {
var list = new List<Values> {
new Values { Present = "present1", Previous = "previous1", Flag = false },
new Values { Present = "present2", Previous = "previous2", Flag = false },
new Values { Present = "present3", Previous = "previous3", Flag = …Run Code Online (Sandbox Code Playgroud) 当我正在运行的存储过程执行mini-profiler时抛出一个空引用并导致我的应用程序停止.在这种情况下,SP不会返回任何内容.
这是堆栈跟踪:
at MvcMiniProfiler.MiniProfiler.AddSqlTiming(SqlTiming stats) in C:\Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\MiniProfiler.cs:line 274
at MvcMiniProfiler.SqlTiming..ctor(DbCommand command, ExecuteType type, MiniProfiler profiler) in C:\Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\SqlTiming.cs:line 137
at MvcMiniProfiler.SqlProfiler.ExecuteStartImpl(DbCommand command, ExecuteType type) in C:\Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\SqlProfiler.cs:line 39
at MvcMiniProfiler.SqlProfilerExtensions.ExecuteStart(SqlProfiler sqlProfiler, DbCommand command, ExecuteType type) in C:\Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\SqlProfiler.cs:line 93
at MvcMiniProfiler.MiniProfiler.MvcMiniProfiler.Data.IDbProfiler.ExecuteStart(DbCommand profiledDbCommand, ExecuteType executeType) in C:\Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\MiniProfiler.IDbProfiler.cs:line 14
at MvcMiniProfiler.Data.ProfiledDbCommand.ExecuteDbDataReader(CommandBehavior behavior) in C:\Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\Data\ProfiledDbCommand.cs:line 158
at System.Data.Common.DbCommand.ExecuteReader()
at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression …Run Code Online (Sandbox Code Playgroud) 今天我遇到了一个问题,我偶然将其除以零,但没有例外被抛出.当我使用调试器时,我在调试器中看到了"NaN".当我尝试用NUnit重新创建这个场景时,Assert说我正在返回'Infinity'.无法让调试器显示NaN,但我只是想知道为什么在这种情况下没有抛出错误?我花了很长时间来追踪这个问题,我会假设应该抛出一个异常?
这是测试代码:
public class DivideByZero {
private int TotalQaOneToFour;
private int TotalGrade = 10;
public DivideByZero(int TotalQaOneToFour) {
this.TotalQaOneToFour = TotalQaOneToFour;
}
public Double QualityReportAverageRounded {
get {
return Math.Round((double)TotalGrade / TotalQaOneToFour, 2);
}
}
}
[TestFixture]
public class DivideByZeroTest {
[Test]
public void TestThatDivideByZeroThrowsWhenUsingMathRound() {
var dbz = new DivideByZero(0);
Assert.AreEqual(0, dbz.QualityReportAverageRounded);
}
}
Run Code Online (Sandbox Code Playgroud)
这是NUnit输出:
测试'DivideByZeroTest.TestThatDivideByZeroThrowsWhenUsingMathRound'失败:
预期:0
但是:Infinity
DivideByZero.cs(33,0):在DivideByZeroTest.TestThatDivideByZeroThrowsWhenUsingMathRound()0传递,1失败,0跳过,耗时0.41秒(NUnit 2.6.1).
我有一个有一个新方法的类,并使用该对象调用方法X.当我从对象调用X时,参数的第一个值是$ self,其余的是我发送的值.现在当我调用它时来自对象的另一个方法的方法,第一个值不再是$ self,而只是发送的值.如何解决这种情况?
样品:
my $p = TEST->new;
$p->mymethod(1,2,3); # @_ = 'self, 1, 2, 3'
Run Code Online (Sandbox Code Playgroud)
但如果'mymethod'被另一种方法调用:
sub anothermethod{
my ($self, $a) = @_;
mymethod(1,2,3); # @_ = '1,2,3'
}
Run Code Online (Sandbox Code Playgroud)
如何编写'mymethod'以便处理这两种情况?或者我从根本上做错了什么?
Test :: More是否有某种机制在每个子测试之前运行一段代码?我发现自己在每次测试中都写了相同的安排,我想通过把它放在一个块之前的东西来让我的生活更轻松?我看了一下perldocs,但是我没有看到为此特别建造的东西?
有人可以建议一个更好的方法来完成我正在做的事情.除了IE7之后,注释掉的返回在所有浏览器中都有效.我知道这完全是贫民窟,但这是我使用它的唯一方法,因为IE7无法解析我所知道的json.当我使用webforms和jquery验证时,这似乎只是堆积在另一个上面的东西.如果值在查询字符串中,我无法让我的web服务回复,所以我必须手动添加规则.即/webservices/ipmws.asmx/SiteValid?tbSiteName=WHATEVER ....如果这样可能会有所有这些不是必需的?
提前致谢.
$('#form2').validate();
$("#tbSiteName").rules("add", {
remote: function () {
var r = {
url: "/webservices/ipmws.asmx/SiteValid",
type: "POST",
data: "{'tbSiteName': '" + $("#tbSiteName").val() + "'}",
dataType: "json",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) {
var str = data.split(':');
return str[1].substring(0, str[1].length -1)
//return (JSON.parse(data)).d;
}
}
return r;
},
messages: {
remote: "The site code is either not present or invalid."
}
});
Run Code Online (Sandbox Code Playgroud)