上大学的时候,有打印三角形这道题,当时用一堆循环实现。如果用C#中的PadLeft和PadRight可以轻松实现这个功能。
PadLeft和PadRight简介
PadLeft的官方定义是返回一个指定长度的新字符串,其中在当前字符串的开头填充空格或指定的 Unicode 字符。有两个方法重载.
重载1:
//PadLeft(Int32)
//返回一个新字符串,该字符串通过在此实例中的字符左侧填充
//空格来达到指定的总长度,从而实现右对齐。
string str="*******";;
Console.WriteLine(str.PadLeft(10));
//输出 *******
重载2:
//PadLeft(Int32, Char)
//返回一个新字符串,该字符串通过在此实例中的字符左侧填充指定的 Unicode
//字符来达到指定的总长度,从而使这些字符右对齐。
string str="*******";;
Console.WriteLine(str.PadLeft(10,'.'));
//输出...*******
PadRight和PadLeft相反,重载也一样,这里就不多说了。
实现倒三角形:
直接上代码
for (int i = 6; i >=1; i--)
{
string strs=string.Empty.PadLeft(i,'*') ;
Console.WriteLine(strs);
}
展示结果为6层的倒三角形:
是不是很简单,其实也可以实现等腰倒三角形,原理是把left和right合并起来,再处理一下个数,就是个等边三角形了,感兴趣的伙伴可以尝试一下。
基础面试题也可能考察PadLeft和PadRight,主要是了解对C#语法的熟悉度。