Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

8
将文件从MemoryStream附加到C#中的MailMessage
我正在编写一个程序将文件附加到电子邮件。目前,我正在将使用的文件保存FileStream到磁盘中,然后使用 System.Net.Mail.MailMessage.Attachments.Add( new System.Net.Mail.Attachment("file name")); 我不想将文件存储在磁盘中,我想将文件存储在内存中,然后从内存流中将其传递给Attachment。
113 c#  email  smtp  memorystream 

6
设置文件夹浏览器对话框的开始位置
有什么方法可以将文件夹浏览器对话框的初始目录设置为非特殊文件夹?这是我目前正在使用的fdbLocation.RootFolder = Environment.SpecialFolder.Desktop; 但我想使用我存储在字符串中的路径,像这样fdbLocation.RootFolder = myFolder;这将导致错误“无法将'string'转换为'System.Environment.SpecialFolder'”。
113 c# 

10
C#等效于SQL Server中的IsNull()函数
在SQL Server中,您可以使用 IsNull()函数检查值是否为null,如果为空,则返回另一个值。现在我想知道C#中是否有任何类似的东西。 例如,我想做类似的事情: myNewValue = IsNull(myValue, new MyValue()); 代替: if (myValue == null) myValue = new MyValue(); myNewValue = myValue; 谢谢。
113 c#  .net  sql-server  isnull 

8
方法签名中的新关键字
在执行重构时,我最终创建了一个类似于以下示例的方法。为了简单起见,已更改数据类型。 我以前有这样的作业说明: MyObject myVar = new MyObject(); 偶然地将其重构为: private static new MyObject CreateSomething() { return new MyObject{"Something New"}; } 这是我剪切/粘贴错误的结果,但是new关键字in private static new有效并且可以编译。 问题:new关键字在方法签名中表示什么?我认为这是C#3.0中引入的? 这override有何不同?
113 c#  methods  keyword 

17
无法加载DLL(找不到模块HRESULT:0x8007007E)
我有一个包含非托管C ++ API代码的dll库,需要在.NET 4.0应用程序中使用。但是我尝试加载dll的每种方法都会出现错误: 无法加载DLL“ MyOwn.dll”:找不到指定的模块。(来自HRESULT的异常:0x8007007E) 我已阅读并尝试了在互联网上找到的许多解决方案。什么都没有 我尝试使用以下方法: [DllImport("MyOwn.dll", CallingConvention = CallingConvention.Cdecl)] [return: MarshalAs((UnmanagedType.I4))] public static extern Int32 MyProIni(string DBname, string DBuser_pass, string WorkDirectory, ref StringBuilder ErrorMessage); 当我尝试阅读本文并运行本示例(从下载的代码中)时,它可以正常运行(所用的dll在bin / debug文件夹中) 我已经复制了我的dll(以及它依赖的所有文件到我的bin文件夹中)。 我也尝试了这种方法,但是遇到了同样的错误: [DllImportAttribute(MyOwnLibDllPath, EntryPoint="TMproIni")] [return: MarshalAs(UnmanagedType.I4)] public static extern int MyproIni(string DBname, string DBuser_pass, string WorkDirectory, ref StringBuilder ErrorMessage); 有什么建议?
113 c#  c++  dll  pinvoke 

7
Java是否有类似C#的ref和out关键字的东西?
类似于以下内容: 参考示例: void changeString(ref String str) { str = "def"; } void main() { String abc = "abc"; changeString(ref abc); System.out.println(abc); //prints "def" } 出示例: void changeString(out String str) { str = "def"; } void main() { String abc; changeString(out abc); System.out.println(abc); //prints "def" }
113 c#  java 

4
设计同时用于F#和C#的F#库的最佳方法
我正在尝试在F#中设计一个库。该库应该易于在F#和C#中使用。 这就是我卡住的地方。我可以使它对F#友好,也可以使它对C#友好,但是问题是如何使两者友好。 这是一个例子。想象一下我在F#中具有以下功能: let compose (f: 'T -> 'TResult) (a : 'TResult -> unit) = f >> a 从F#完全可以使用: let useComposeInFsharp() = let composite = compose (fun item -> item.ToString) (fun item -> printfn "%A" item) composite "foo" composite "bar" 在C#中,该compose函数具有以下签名: FSharpFunc<T, Unit> compose<T, TResult>(FSharpFunc<T, TResult> f, FSharpFunc<TResult, Unit> a); …
113 c#  f# 


5
如何在执行MSTest测试期间写入Console.Out
上下文: 我们有一些用户报告我们的Web应用程序中的文件上传功能存在问题。它仅偶尔发生,并且没有任何特殊模式。很长时间以来,我们一直在努力寻找解决方案,在我们认为可能会有所帮助的任何地方添加调试信息,对日志进行爬网等,但是我们无法复制或解决它。 问题: 我现在正尝试通过使用MSTest和WatiN来重复该操作,该操作应多次失败(数百次),以重现此错误。只是为了了解测试已经循环了多远,我想打印出以下内容: Console.WriteLine(String.Format("Uploaded file, attempt {0} of {1}", i, maxUploads)); 但是,它不会出现在“输出”窗口中。现在,我知道您将在测试结果中获得控制台输出(以及从其他输出中获得的输出Debug.Writeline),但这要等到测试完成后才能使用。而且由于我的测试需要数百次重复,因此可能需要花费一些时间,所以我想知道测试已经进行了多长时间。 问题:在测试执行过程 中,有什么方法可以在“输出”窗口中获得控制台输出?
113 c#  console  mstest  watin 

3
十进制类型的声明后缀
如果我想在代码中使用十进制文字,我已经看到存在m后缀(其中m代表金钱)。这是否适用于任何小数或是否有更通用的赋值(d代表double,虽然支持直接转换,但肯定不是正确的选择)。 object decimalValue=2m; 请注意,我以对象分配为例,因为在...的情况下 decimal decimalValue=2; ...显然,编译器应将2解释为十进制。 m似乎还可以,msdn将其用作小数类型的示例。
113 c#  .net 

8
从C#发送带有附件的电子邮件,附件作为Thunderbird中的第1.2部分到达
我有一个C#应用程序,可以使用SMTP通过Exchange 2007服务器通过电子邮件发送Excel电子表格报告。这些对于Outlook用户来说可以正常使用,但是对于Thunderbird和Blackberry用户,附件已重命名为“ 1.2部分”。 我找到了描述问题的文章,但似乎没有给我解决方法。我无法控制Exchange服务器,因此无法在其中进行更改。在C#端我有什么可以做的吗?我曾尝试使用短文件名和HTML编码作为正文,但是两者都没有改变。 我的邮件发送代码就是这样: public static void SendMail(string recipient, string subject, string body, string attachmentFilename) { SmtpClient smtpClient = new SmtpClient(); NetworkCredential basicCredential = new NetworkCredential(MailConst.Username, MailConst.Password); MailMessage message = new MailMessage(); MailAddress fromAddress = new MailAddress(MailConst.Username); // setup up the host, increase the timeout to 5 minutes smtpClient.Host …
113 c#  email  smtp  attachment 


2
具有“任何泛型类型”定义的C#泛型“ where约束”?
让我举个例子: 我有一些通用的类/接口定义: interface IGenericCar< T > {...} 我还有另一个要与上面的类相关的类/接口,例如: interface IGarrage< TCar > : where TCar: IGenericCar< (**any type here**) > {...} 基本上,我希望我的通用IGarrage依赖IGenericCar,无论它是IGenericCar<int>还是IGenericCar<System.Color>,因为我对该类型没有任何依赖。

15
解析值时遇到意外字符
目前,我有一些问题。我在Json.NET中使用C#。问题是我总是得到: {“解析值时遇到意外字符:e。路径”,第0行,位置0。”} 因此,我使用Json.NET的方式如下。我有一个班级,应该保存。该类如下所示: public class stats { public string time { get; set; } public string value { get; set; } } public class ViewerStatsFormat { public List<stats> viewerstats { get; set; } public String version { get; set; } public ViewerStatsFormat(bool chk) { this.viewerstats = new List<stats>(); } } …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.