上大学的时候,有打印三角形这道题,当时用一堆循环实现。如果用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#语法的熟悉度。