C# 使用LINQ、泛型、Index函数优化switch(或者多条if)语句

简介: 背景:         判断某个变量是不是".txt.doc.xls.ppt.pdf"中的某一种格式,如果是则执行相应的操作。 方法一:使用泛型 readonly IList<String> fNames = new List<String>() { ".doc", ".txt",

背景:
        判断某个变量是不是".txt.doc.xls.ppt.pdf"中的某一种格式,如果是则执行相应的操作。

方法一:使用泛型

readonly IList<String> fNames = new List<String>() {
             ".doc",
             ".txt",
             ".xls",
             ".ppt",
             ".pdf"
        };
private void Test(string fName)
{ 
    if(fNames.Contains(fName))
	{
        MessageBox.Show(fName);
    }
}
方法二:使用LINQ

private void Test(string fName)
{
    if (new string[] { ".doc", ".txt", ".xls" }.Any(x => fName == x))
    {
        MessageBox.Show(fName);
    }
}

如果是&&就用All

知识拓展:

LINQ 查询语法

Lambda表达式表达式树


LINQ查询的简单用法举例

方法三:使用Index函数

private void Test(string fName)
{
    string str = ".txt.doc.xls.ppt.pdf";
    if (str.IndexOf(fName) >= 0)
    {
        MessageBox.Show(fName);
    }
}
C# IndexOf 用法





目录
相关文章
|
JavaScript 前端开发 Java
javascript实现像java、c#之类的sleep暂停的函数功能
javascript实现像java、c#之类的sleep暂停的函数功能
131 0
|
程序员 C# 图形学
【Unity 3D】C#中条件语句if else switch的讲解
【Unity 3D】C#中条件语句if else switch的讲解
325 1
|
6月前
|
存储 监控 算法
解析公司屏幕监控软件中 C# 字典算法的数据管理效能与优化策略
数字化办公的时代背景下,企业为维护信息安全并提升管理效能,公司屏幕监控软件的应用日益普及。此软件犹如企业网络的 “数字卫士”,持续记录员工电脑屏幕的操作动态。然而,伴随数据量的持续增长,如何高效管理这些监控数据成为关键议题。C# 中的字典(Dictionary)数据结构,以其独特的键值对存储模式和高效的操作性能,为公司屏幕监控软件的数据管理提供了有力支持。下文将深入探究其原理与应用。
116 4
|
5月前
|
机器学习/深度学习 监控 算法
局域网行为监控软件 C# 多线程数据包捕获算法:基于 KMP 模式匹配的内容分析优化方案探索
本文探讨了一种结合KMP算法的多线程数据包捕获与分析方案,用于局域网行为监控。通过C#实现,该系统可高效检测敏感内容、管理URL访问、分析协议及审计日志。实验表明,相较于传统算法,KMP在处理大规模网络流量时效率显著提升。未来可在算法优化、多模式匹配及机器学习等领域进一步研究。
139 0
|
9月前
|
C#
C# 中关于补位的写法 PadLeft,PadRight 函数
C# 中的 `PadLeft` 和 `PadRight` 是 String 类提供的用于字符串补位的实用方法。`PadLeft` 在字符串左侧填充指定字符,使其达到指定长度;`PadRight` 则在右侧填充。两者通过检查原字符串长度,计算需填充字符数,并创建新字符数组完成操作。时间复杂度为 O(n),适用于简单补位场景,但在大量操作时需注意性能影响。示例代码展示了如何使用这两个方法进行补位操作。
|
11月前
|
缓存 API C#
C# 一分钟浅谈:GraphQL 优化与性能提升
本文介绍了 GraphQL API 的常见性能问题及优化方法,包括解决 N+1 查询问题、避免过度取数据、合理使用缓存及优化解析器性能,提供了 C# 实现示例。
200 33
|
C# Python
使用wxpython开发跨平台桌面应用,对wxpython控件实现类似C#扩展函数处理的探究
【10月更文挑战第30天】使用 `wxPython` 开发跨平台桌面应用时,可以通过创建辅助类来模拟 C# 扩展函数的功能。具体步骤包括:1. 创建辅助类 `WxWidgetHelpers`;2. 在该类中定义静态方法,如 `set_button_color`;3. 在应用中调用这些方法。这种方法提高了代码的可读性和可维护性,无需修改 `wxPython` 库即可为控件添加自定义功能。但需要注意显式调用方法和避免命名冲突。
103 1
|
12月前
|
C#
c#中switch case语句的用法
C#中的 `switch case`语句提供了一种简洁而高效的方式来处理多个条件分支。通过了解其基本语法、注意事项和高级用法,可以在实际开发中灵活运用 `switch case`,提高代码的可读性和维护性。希望本文能帮助你更好地理解和使用C#中的 `switch case`语句。
699 0
|
缓存 NoSQL Redis
【Azure Redis 缓存】C#程序是否有对应的方式来优化并缩短由于 Redis 维护造成的不可访问的时间
【Azure Redis 缓存】C#程序是否有对应的方式来优化并缩短由于 Redis 维护造成的不可访问的时间
110 0
|
开发框架 .NET 程序员
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
掌握C#语言的精髓:基础知识与实用技能详解(数据类型与变量+ 条件与循环+函数与模块+LINQ+异常+OOP)
108 0

热门文章

最新文章

下一篇
开通oss服务