using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace Program
{
class Program
{
public static string *GetExtension*(string cale) //GetExtension is an error
{
string fisier, extensie;
cale = @"D:\dir1\dir2\";
fisier = @"D:\dir1\dir2\fisier.txt";
extensie = Path.GetExtension(fisier);
System.Console.WriteLine("Extensie: {0} returneaza {1}", fisier, extensie);
extensie = Path.GetExtension(cale);
System.Console.WriteLine("Extensie: {0} returneaza {1}", fisier, extensie);
}
}
}
我为这个业余职位道歉。
我不理解错误"Program.Program.GetExtension(string)': not all code paths return a value"
有谁能告诉我,我做错了什么,拜托?
(哦,fisier表示文件,cale mean path和extensie表示我的语言扩展名) 在此先感谢。
答案 0 :(得分:6)
该函数应该返回一个字符串,但是你没有返回语句
添加
return extensie;
在第一个}
或者如果你不想要一个返回值而只是想要console.writelines只需将public static string
更改为public static void
,那么你就不需要返回值
答案 1 :(得分:1)
您的函数应返回一个字符串。你没有在整个函数中返回任何东西。
在函数的某个地方你应该有一个语句:
return extensie;
答案 2 :(得分:1)
通过定义您的方法
public static string GetExtension(string cale) //GetExtension is an error
你说你的方法会返回一个字符串。
你的方法,只是输出一些东西到屏幕上不会返回任何内容。所以改变它:
public static void GetExtension(string cale) //GetExtension is an error
或者,如果您确实要返回某些内容,请确保将此行放入:
return extensie;
在方法结束时(在右大括号之前)
我建议查看this page上的'返回值'部分:)
答案 3 :(得分:0)
您必须将回复添加到您的功能
public static string *GetExtension*(string cale) //GetExtension is an error
{
string fisier, extensie;
cale = @"D:\dir1\dir2\";
fisier = @"D:\dir1\dir2\fisier.txt";
extensie = Path.GetExtension(fisier);
System.Console.WriteLine("Extensie: {0} returneaza {1}", fisier, extensie);
extensie = Path.GetExtension(cale);
System.Console.WriteLine("Extensie: {0} returneaza {1}", fisier, extensie);
return extensie; //<----------------
}
答案 4 :(得分:0)
是的,您需要从函数中返回一个字符串,例如
return extensie;
答案 5 :(得分:0)
我猜你的语言是法语,所以如果你愿意,我可以给你一个翻译,但用英语回答你的问题:
最好的方法是使用public static void
替换public static String另外,我不明白你为什么在GetExtension周围有明星
,并提供:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace Program {
class Program
{
public static void GetExtension(string cale) //GetExtension is an error
{
string fisier, extensie;
cale = @"D:\dir1\dir2\";
fisier = @"D:\dir1\dir2\fisier.txt";
extensie = Path.GetExtension(fisier);
System.Console.WriteLine("Extensie: {0} returneaza {1}", fisier, extensie);
extensie = Path.GetExtension(cale);
System.Console.WriteLine("Extensie: {0} returneaza {1}", fisier, extensie);
}
}
}
答案 6 :(得分:-1)
您的方法被标记为“公共静态字符串”,这意味着您需要一个“返回字符串”;声明。如果你不希望方法返回一个值,那么你可以用“public static void”替换方法定义,这意味着“我不会返回任何东西”
旁注: 您可以使用FileInfo类来获取相关文件的扩展名。它的代码较少,已为您完成:)
例如:
FileInfo fInfo = new FileInfo(path);
string extension = fInfo.Extension;