0 c#
public static string RatingCalculator(int input)
{
if (input < 10)
{
return string.Empty;
}
if (input > 10 && input < 20)
{
return "<img src=\"/images/star.png\" alt=\"*\" /><img src=\"/images/star_empty.png\" alt=\"-\" /><img src=\"/images/star_empty.png\" alt=\"-\" /><img src=\"/images/star_empty.png\" alt=\"-\" /><img src=\"/images/star_empty.png\" alt=\"-\" />";
}
if (input > 21 && input < 40)
{
return "<img src=\"/images/star.png\" alt=\"*\" /><img src=\"/images/star.png\" alt=\"*\" /><img src=\"/images/star_empty.png\" alt=\"-\" /><img src=\"/images/star_empty.png\" alt=\"-\" /><img src=\"/images/star_empty.png\" alt=\"-\" />";
}
if (input > 41 && input < 70)
{
return "<img src=\"/images/star.png\" alt=\"*\" /><img src=\"/images/star.png\" alt=\"*\" /><img src=\"/images/star.png\" alt=\"*\" /><img src=\"/images/star_empty.png\" alt=\"-\" /><img src=\"/images/star_empty.png\" alt=\"-\" />";
}
if (input > 11 && input < 120)
{
return "<img src=\"/images/star.png\" alt=\"*\" /><img src=\"/images/star.png\" alt=\"*\" /><img src=\"/images/star.png\" alt=\"*\" /><img src=\"/images/star.png\" alt=\"*\" /><img src=\"/images/star_empty.png\" alt=\"-\" />";
}
else
{
return "<img src=\"/images/star.png\" alt=\"*\" /><img src=\"/images/star.png\" alt=\"*\" /><img src=\"/images/star.png\" alt=\"*\" /><img src=\"/images/star.png\" alt=\"*\" />";
}
}
Run Code Online (Sandbox Code Playgroud)
Eoi*_*ell 11
查看常见部分并尝试提取它们.
您的"全星"图像标记永远不会更改"空星"的图像标记永远不会更改,因此您可以将这两者的可读性提取到变量中.
同样适用于格式化程序字符串,总会有"5个连续的星型"
怎么样
string fs = @"<img src=\"/images/star.png\" alt=\"*\" />"; //Full Star
string es = @"<img src=\"/images/star_empty.png\" alt=\"-\" />"; //Empty Star
string format = @"{0}{1}{2}{3}{4}";
if(input < 10)
return string.Empty;
else if(input < 20)
return string.Format(format, fs, es, es, es, es);
else if(input < 40)
return string.Format(format, fs, fs, es, es, es);
else if(input < 70)
return string.Format(format, fs, fs, fs, es, es);
else if(input < 120)
return string.Format(format, fs, fs, fs, fs, es);
else
return string.Format(format, fs, fs, fs, fs, fs);
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用字符串构建器
string fs = @"<img src=\"/images/star.png\" alt=\"*\" />"; //Full Star
string es = @"<img src=\"/images/star_empty.png\" alt=\"-\" />"; //Empty Star
StringBuilder sb = new StringBuilder(fs);
//No need for `sb.Append (input > 10 ? fs : es);` as we'll test "input < 10" in the return statement.
sb.Append (input > 20 ? fs : es);
sb.Append (input > 40 ? fs : es);
sb.Append (input > 70 ? fs : es);
sb.Append (input > 120 ? fs : es);
return (input < 10) ? string.Empty : sb.ToString();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
285 次 |
| 最近记录: |