C#新手求助:简化FontFamily数组生成函数代码
简化FontFamily数组创建的方案
嘿,作为C#新手碰到这种重复冗余的代码太正常啦!你现在的写法完全是硬编码逐个实例化,不仅麻烦还不灵活——要是以后_fnt数组长度变了,还得手动改一堆代码。其实用LINQ就能轻松搞定,一行代码就能实现和原来完全一样的功能:
using System.Linq; // 记得在文件顶部加这个引用,不然LINQ方法用不了 public FontFamily[] FontFamilyExt() { return _fnt.Select(fontName => new FontFamily(fontName)).ToArray(); }
简单解释下:
Select()方法会遍历_fnt数组里的每一个字符串元素,对每个元素执行new FontFamily(fontName)来创建对应的字体实例- 最后用
ToArray()把LINQ的结果转换成FontFamily[]数组返回,和你原来的返回类型完全匹配
这个写法不仅简洁,还能自动适配_fnt数组的长度变化,以后不管是加元素还是减元素,都不用修改这个方法的代码啦!
内容的提问来源于stack exchange,提问作者viahero
相关产品推荐
相关产品推荐

