AssertFlag
AssertFlag
类是一个标记类,一般用在循环中,第一次循环与其后循环处理不相同时,可以使用此类。
比如,在一个循环里拼接字符串时,使用变量判断加入逗号,如下所示:
[TestMethod]
public void TestWriteNames()
{
var names = new [] { "fish", "dog", "cat", "cow" };
var sb = new StringBuilder("names:");
var i = 0;
foreach (var name in names)
{
if (i++ == 0)
{
sb.Append(name);
}
else
{
sb.AppendFormat(",{0}", name);
}
}
}
使用 AssertFlag
类可以省略变量 i,如下所示:
[TestMethod]
public void TestWriteNames()
{
var names = new [] { "fish", "dog", "cat", "cow" };
var sb = new StringBuilder("names:");
var assertFlag = new AssertFlag();
foreach (var name in names)
{
if (assertFlag.AssertTrue())
{
sb.Append(name);
}
else
{
sb.AppendFormat(",{0}", name);
}
}
}
使用 Reset 方法可以重置到初始状态。