C# 判断文件路径的后缀是否是某个后缀

C# 判断文件路径的后缀是否是某个后缀,通过解析文件名并检查其扩展名来判断文件的后缀是否为.dcm。

以.dcm为例子,代码如下:

直接判断:

using System;  
using System.IO;  class Program  
{  static void Main()  {  string fileName = "example.dcm";  string extension = Path.GetExtension(fileName);  if (extension == ".dcm")  {  Console.WriteLine("文件名以 .dcm 结尾。");  }  else  {  Console.WriteLine("文件名不是以 .dcm 结尾。");  }  }  
}

或是使用方法判断:

using System.IO;public bool IsFileExtensionDcm(string filePath)
{// 获取文件的完整路径string fileFullPath = filePath;// 使用Path.GetFileNameWithoutExtension获取不带扩展名的文件名string fileNameWithoutExt = Path.GetFileNameWithoutExtension(fileFullPath);// 使用Path.GetExtension获取文件扩展名(包括点)string fileExtension = Path.GetExtension(fileFullPath);// 检查扩展名是否与".dcm"一致(忽略大小写)return fileExtension.Equals(".dcm", StringComparison.OrdinalIgnoreCase);
}// 使用方法
string filePath = @"C:\path\to\your_file.dcm";
if (IsFileExtensionDcm(filePath))
{Console.WriteLine("文件的后缀是.dcm");
}
else
{Console.WriteLine("文件的后缀不是.dcm");
}

或是将字符串后缀名保存在一个字典或者数组中,并通过比较获取的实际后缀名与列表中的内容来判断:

public static class FileExtensionChecker
{private static readonly HashSet<string> ImageExtensions = new HashSet<string>{".dcm", ".jpg", ".jpeg", ".png",// 其他图片扩展名...};public static bool IsImageFile(string filePath){string fileExtension = Path.GetExtension(filePath).ToLowerInvariant();return ImageExtensions.Contains(fileExtension);}public static bool HasExtension(string filePath, string extension){string fileExtension = Path.GetExtension(filePath).ToLowerInvariant();return fileExtension == extension.ToLowerInvariant();}
}// 使用方法
string filePath = @"C:\path\to\your_file.dcm";if (FileExtensionChecker.IsImageFile(filePath))
{Console.WriteLine("这是一个图像文件");
}if (FileExtensionChecker.HasExtension(filePath, ".dcm"))
{Console.WriteLine("文件是.dcm格式");
}

上述IsImageFile方法利用了一个集合(HashSet)来存储并快速查询图像文件常用的扩展名,而HasExtension方法则可以直接接受一个字符串参数来检查特定的后缀名。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/641299.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美国大带宽服务器租用需要考虑的因素

很多用户会选择租用服务器&#xff0c;那么美国大带宽服务器租用时应该考虑哪些因素呢?小编为您整理发布美国大带宽服务器租用考虑因素。 在美国租用大带宽服务器时&#xff0c;您可以考虑以下几个因素&#xff1a; 1. **性能配置**&#xff1a;选择服务器时&#xff0c;应确保…

Unity中URP下的 额外灯 逐像素光 和 逐顶点光

文章目录 前言一、额外灯 的 逐像素灯 和 逐顶点灯1、存在额外灯的逐像素灯2、存在额外灯的逐顶点灯 二、测试这两个宏的作用1、额外灯的逐像素灯2、额外灯的逐顶点灯 前言 在之前的文章中&#xff0c;我们了解了 主光相关的反射计算。 Unity中URP下的SimpleLit的 Lambert漫反…

有效的数独[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 请你判断一个9 x 9的数独是否有效。只需要根据以下规则&#xff0c;验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一…

Elasticsearch:介绍 kNN query,这是进行 kNN 搜索的专家方法

作者&#xff1a;来自 Elastic Mayya Sharipova, Benjamin Trent 当前状况&#xff1a;kNN 搜索作为顶层部分 Elasticsearch 中的 kNN 搜索被组织为搜索请求的顶层&#xff08;top level&#xff09;部分。 我们这样设计是为了&#xff1a; 无论分片数量多少&#xff0c;它总…

云平台性能测试之网络性能测试

一、认识网络性能测试 网络性能测试是评估和测量计算机网络性能的过程&#xff0c;对于确保网络的有效运行和提供良好用户体验非常重要。网络性能测试可以实现以下目标&#xff1a; 性能评估&#xff1a; 网络性能测试可以帮助评估网络的整体性能。通过测量网络的带宽、延迟、…

python 面经

关于自身特点 1. 介绍下自己&#xff0c;讲一下在公司做的项目 2. 说一下熟悉的框架&#xff0c;大致讲下其特点 python 基础 1.可变与不可变类型区别 2.请解释join函数 3.请解释*args和**kwargs的含义&#xff0c;为什么使用* args&#xff0c;** kwargs&#xff1f; 4.解释…

实现纯Web语音视频聊天和桌面分享(附源码,PC端+移动端)

在网页里实现文字聊天是比较容易的&#xff0c;但若要实现视频聊天&#xff0c;就比较麻烦了。本文将实现一个纯Web版的视频聊天和桌面分享的Demo&#xff0c;可直接在浏览器中运行&#xff0c;不需要安装任何插件。 一. 主要功能及支持平台 1.本Demo的主要功能有 &#xff…

【书生·浦语】大模型实战营——第六次作业

使用OpenCompass 评测 InterLM2-chat-chat-7B 模型在C-Eval数据集上的性能 环境配置 1. 创建虚拟环境 conda create --name opencompass --clone/root/share/conda_envs/internlm-base source activate opencompass git clone https://github.com/open-compass/opencompass cd…

valgrind安装使用教程

安装 valgrind官网下载链接 安装过程&#xff1a; tar -xf valgrind-3.22.0.tar.bz2 cd valgrind-3.22.0/ ./configure make make install使用 基本工具 Memcheck&#xff0c;检测内存错误使用问题Callgrind&#xff0c;检查程序函数调用过程中出现的问题Cachegrind&#x…

LED闪烁

这段代码是用于STM32F10x系列微控制器的程序&#xff0c;主要目的是初始化GPIOA的Pin 0并使其按照特定的模式进行闪烁。下面是对这段代码的逐行解释&#xff1a; #include "stm32f10x.h"&#xff1a;这一行包含了STM32F10x系列微控制器的设备头文件。这个头文件包含…

【PWN · 格式化字符串|劫持fini_array|劫持got表】[CISCN 2019西南]PWN1

格式化字符串的经典利用&#xff1a;劫持got表。但是遇到漏洞点只能执行一次的情况&#xff0c;该怎么办&#xff1f; 前言 如果存在格式化字符串&#xff0c;保护机制开的不健全&#xff0c;通常可以劫持got表&#xff0c;构造后门函数。然而&#xff0c;如果不存在循环、栈溢…

gradle打包分离依赖jar

正常打包的jar是包含项目所依赖的jar包资源&#xff0c;而且大多数场景下的依赖资源是不会频繁的变更的&#xff0c;所以实际把项目自身jar和其所依赖的资源分离可以实现jar包瘦身&#xff0c;减小上传的jar包总大小&#xff0c;能实现加速部署的效果 一 原本结构 二 配置buil…

History命令解释,及一个相关的bash脚本(如何编写脚本程序从记录文件中提取history命令)

目 录 一、history命令介绍 1、history命令是什么&#xff1f; 2、history的主要功能 二、history命令的用法 1、语法 2、选项说明 3、命令实例 三、history和历史记录文件bash_history 四、history命令的相关配置 1&#xff0c;命令带时间展示-HISTTI…

BOSS直聘推荐搜索系统工程师校招面经

本文介绍2024届秋招中&#xff0c;BOSS直聘的推荐/搜索系统工程师岗位一面的面试基本情况、提问问题等。 12月投递了BOSS直聘的推荐/搜索系统工程师岗位&#xff0c;并不清楚所在的部门。目前完成了一面&#xff0c;在这里记录一下一面经历。 首先&#xff0c;这一次的投递就是…

机器学习_正则化、欠拟合和过拟合

文章目录 正则化欠拟合和过拟合正则化参数 正则化 机器学习中的正则化是在损失函数里面加惩罚项&#xff0c;增加建模的模糊性&#xff0c;从而把捕捉到的趋势从局部细微趋势&#xff0c;调整到整体大概趋势。虽然一定程度上地放宽了建模要求&#xff0c;但是能有效防止过拟合…

用通俗易懂的方式讲解:使用 MongoDB 和 Langchain 构建生成型AI聊天机器人

想象一下&#xff1a;你收到了你梦寐以求的礼物&#xff1a;一台非凡的时光机&#xff0c;可以将你带到任何地方、任何时候。 你只有10分钟让它运行&#xff0c;否则它将消失。你拥有一份2000页的PDF&#xff0c;详细介绍了关于这台时光机的一切&#xff1a;它的历史、创造者、…

【计算机网络】应用层——HTTP 协议(一)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】 本专栏旨在分享学习计算机网络的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 一、什么是 HTTP 协…

Unity3D在车载导航系统的应用场景浅谈

Unity3D在车载导航系统的应用场景非常广泛&#xff0c;它可以为车载导航系统带来更加逼真、直观和准确的使用体验。以下是几个具体的应用场景&#xff1a; 3D地图导航&#xff1a;Unity3D的实时3D渲染能力使得车载导航系统可以实现3D地图导航功能。通过Unity3D&#xff0c;可以…

假期刷题打卡--Day10

一、C语言刷题 预处理命令模块的题目就只有几个&#xff0c;下面开始选择结构这个模块的题目。 1、MT1112中庸之道 请编写一个简单程序&#xff0c;输入3个整数&#xff0c;比较他们的大小&#xff0c;输出中间的那个数 格式 输入格式&#xff1a; 输入整型&#xff0c;空…

linux源码编译安装llvm

目录 1 建立文件夹llvm 2 下载源码到llvm文件夹 3 解压上述文件 4 将解压后的3个文件夹改名&#xff0c;并移动到llvm-9.0.0.src中&#xff1a; 5 在llvm文件夹内建立build文件夹&#xff0c;并进入该文件夹&#xff1a; 6 执行cmake命令 7 make 8 安装 9 安装成功后…