草庐IT

save_path

全部标签

c# - 为什么 "Not all code paths return a value"带有 switch 语句和枚举?

我有以下代码:publicintMethod(MyEnummyEnum){switch(myEnum){caseMyEnum.Value1:return1;caseMyEnum.Value2:return2;caseMyEnum.Value3:return3;}}publicenumMyEnum{Value1,Value2,Value3}我收到错误:“并非所有代码路径都返回一个值”。我不明白switch语句怎么可能永远不会跳转到指定的情况之一。enum能否以某种方式成为null? 最佳答案 毫无疑问myEnum的值将是这些值之一。不

c# - 为什么 System.IO.File.Exists(string path) 返回 false?

System.IO.File.Exists(stringpath)始终返回false,即使文件存在于指定路径中也是如此。可能的解决方案是什么? 最佳答案 这很可能是权限问题。来自documentation:TheExistsmethodreturnsfalseifanyerroroccurswhiletryingtodetermineifthespecifiedfileexists.Thiscanoccurinsituationsthatraiseexceptionssuchaspassingafilenamewithinvalid

c# - 使用 SaveFileDialog 后 GDI+ 的 Bitmap.Save() 发生一般错误

我在usingblock中使用了以下代码块和更多代码:using(System.Drawing.BitmaptempImg=(System.Drawing.Bitmap)tempObj.GetData(System.Windows.Forms.DataFormats.Bitmap)){//...tempImg.Save("..\\..\\testdata\\tempImg.bmp",ImageFormat.Bmp);//...}但我仍然得到错误:AGenericErroroccuredatGDI+只有在我做了一些与usingblock中的代码无关的操作之后。在其他时候,这很有效。tem

c# - Response.Redirect 使用 ~ Path

我有一个方法可以将用户重定向回位于我的Web应用程序根目录的登录页面。我正在使用以下代码:Response.Redirect("~/Login.aspx?ReturnPath="+Request.Url.ToString());虽然这不起作用。我的假设是ASP.NET会自动将URL解析为正确的路径。通常,我会使用Response.Redirect("../Login.aspx?ReturnPath="+Request.Url.ToString());但此代码位于母版页上,可以从任何文件夹级别执行。我该如何解决这个问题? 最佳答案 I

c# - 为什么编译器会提示 'not all code paths return a value' 而我可以清楚地看到他们这样做?

我正在尝试弄清楚为什么编译器对该函数有问题。它给了我“并非所有代码路径都返回一个值”错误,但是我看不到控制流将传递给没有a的if(a)表达式的情况为真(因此if(a)是多余的,但编译器似乎无法识别)。publicstaticBooleanFoo(Booleanx){Booleana=false;if(x){a=true;}else{try{SomethingThatMightThrow();Assert.IsFalse(a);returna;}catch(Exception){a=true;}}if(a){returnx;}}直接的解决方法是简单地完全删除if(a)保护语句并立即ret

c# - Image.Save() 对 jpeg 文件使用什么质量级别?

当我加载一个jpg文件并转身并以100的质量保存它并且大小几乎是原始文件的4倍时,我感到非常惊讶。为了进一步调查,我在没有明确设置质量的情况下打开并保存,文件大小完全相同。我认为这是因为没有任何改变,所以它只是将完全相同的位写回文件。为了测试这个假设,我在图像对角线上画了一条大粗线,并在没有设置质量的情况下再次保存(这次我希望文件跳起来,因为它会“脏”)但它减少了~10Kb!在这一点上,我真的不明白当我简单地调用Image.Save()而没有指定压缩质量时发生了什么。当我将质量设置为100(基本上不压缩)时,文件大小为何如此接近(修改图像后)原始大小,而当我将质量设置为100(基本上不

c# - X文档 : saving XML to file without BOM

我正在使用XDocument生成一个utf-8XML文件。XDocumentxml_document=newXDocument(newXDeclaration("1.0","utf-8",null),newXElement(ROOT_NAME,newXAttribute("note",note)));...xml_document.Save(@file_path);文件已正确生成并成功通过xsd文件验证。当我尝试将XML文件上传到在线服务时,该服务说我的文件第1行错误;我发现问题是由文件第一个字节的BOM引起的。您知道为什么要将BOM附加到文件中吗?没有它我该如何保存文件?如Byteo

C# 编译器错误 : "not all code paths return a value"

我正在尝试编写代码来返回给定整数是否可以被1整除到20,但我一直收到以下错误:errorCS0161:'ProblemFive.isTwenty(int)':notallcodepathsreturnavalue这是我的代码:publicstaticboolisTwenty(intnum){for(intj=1;j 最佳答案 您缺少return语句。当编译器查看您的代码时,它看到了可能发生但不返回值的第三条路径(您没有为其编写代码的else)。因此并非所有代码路径都返回一个值。对于我建议的修复,我在循环结束后放置了一个return。

c# - Path.Combine 和点符号

这个问题在这里已经有了答案:Path.Combineabsolutewithrelativepathstrings(7个答案)关闭6年前。我正在寻找类似于Path.Combine方法的东西,它可以帮助我正确组合绝对路径和相对路径。比如我要Path.Combine(@"c:\alpha\beta",@"..\gamma");产生c:\alpha\gamma而不是c:\alpha\..\gamma就像Path.Combine那样。有什么简单的方法可以做到这一点?不用说,我还想在.路径或多个..路径(例如,..\..\)中正常工作.

c# - 如何让 .NET 的 Path.Combine 将正斜杠转换为反斜杠?

我像这样使用Path.Combine:Path.Combine("test1/test2","test3\\test4");我得到的输出是:test1/test2\test3\test4注意正斜杠如何没有转换为反斜杠。我知道我可以执行string.Replace来更改它,但是有更好的方法吗? 最佳答案 正如其他人所说,Path.Combine不会更改分隔符。但是,如果您将其转换为完整路径:Path.GetFullPath(Path.Combine("test1/test2","test3\\test4"))生成的完全限定路径将使用标