C#随笔

148 字
1 分钟
C#随笔

最近写项目的时候用到这样一段代码

Console.WriteLine(
string.Join('\n', (await api.Download(3174))
.Split('\n')
.Where(
line => !string.IsNullOrWhiteSpace(line)
)
)
);

理想情况下中间打算写成.Where(!string.IsNullOrWhiteSpace)
但是C#好像不支持这样的运算符重载
于是写一个函数处理一下

public static class Functional
{
public static Func<T, bool> Not<T>(Func<T, bool> func)
{
return (T para) =>
{
return !func(para);
};
}
}

然后就可以做到这样的效果

Console.WriteLine(
string.Join('\n', (await api.Download(3174))
.Split('\n')
.Where(
Functional.Not<string>(string.IsNullOrWhiteSpace)
)
)
);

PS: 不知道为什么C#推不出来泛型的类型 必须手动加上<string>
ASS: 打算扩充一下Functional类 做成常用库

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
C#随笔
https://blog.truebigsand.top/posts/csharp-notes/
作者
真-大沙子
发布于
2023-06-22
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
真-大沙子
编程 · 数学 · 二次元 · 生活
公告
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
45
分类
5
标签
51
总字数
42,438
运行时长
0
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.13.5
文章许可
CC BY-NC-SA 4.0

文章目录