在C#中解析和验证解析#

在C#中解析和验证解析#

问题描述:

我是C#编程新手。我想通过命令行运行我的窗体窗体应用程序,其中一个参数是文件名,在我的应用程序中打开。 我该怎么办有关的说法以下验证传递给应用:在C#中解析和验证解析#

  1. 检查参数字符串是有效的文件路径(不是一个文件夹路径)
  2. 如果参数字符串是相对路径(如“〜\ xyz.pdf“),那么它将生成并验证绝对路径(如”C:\ Downloads \ xyz.pdf“)。
  3. 如果参数字符串是有效的文件路径,那么文件应该是特定的扩展名(例如文件路径是有效的,它只是PDF文件)。
+0

你尝试过什么,并在那里究竟是你卡住了? – bassfader

+0

你是编程新手?采取这个建议:谷歌周围,阅读文档和代码示例学习。我敢肯定,如果你谷歌你的3个人点,你会发现他们每个人足够的解决方案。 – MarioDS

+0

一些提示[Path.GetFullPath] [1],[Path.IsPathRooted] [2]。 [1]:http://msdn.microsoft.com/en-us/library/system.io.path.getfullpath.aspx [2]:http://msdn.microsoft.com/en-us /library/system.io.path.ispathrooted –

  1. ,如果你希望它是一个现有的文件File.Exists,否则只有绝对万无一失的方法是尝试创建/打开它。

  2. 如果是标准相对路径(xyz.pdf),则可以使用Path.GetFullPath(Path.Combine(baseDirectory, path))。如果路径是相对路径或绝对路径,这将工作。

  3. Path.GetExtension

嗯,你可以尝试这样的:

public static void Test(string path){ 
    // If there is no File at the desired location 
    if (File.Exists(path) == false){ 
    } 

    // Get the FullPath 
    string fullPath = Path.GetFullPath(path); 

    // Check the Extension for .pdf 
    if (path.EndsWith(".pdf")){ 

    } 
    // Or you can do Path.GetExtension(path) 
}