草庐IT

defaults-extra-file

全部标签

c# - default(T) 使用空集合而不是 null

我想要一个通用方法,它为传递的类型返回默认值,但是对于集合类型,我想要得到空集合而不是null,例如:GetDefault();//returnsemptyarrayofint'sGetDefault();//returns0GetDefault();//returnsnullGetDefault>();//returnsemptylistofobjects我开始写的方法如下:publicstaticTGetDefault(){vartype=typeof(T);if(type.GetInterface("IEnumerable")!=null)){//returnemptycolle

c# - File.Delete 不删除文件

我正在尝试删除一个文件,但下面的代码并没有这样做。它不会抛出异常,但文件仍然存在。这可能吗?try{File.Delete(@"C:\File.txt");}catch(Exceptione){Console.WriteLine(e);}如果无法删除文件,应该打印出异常,但实际上并没有。这是否应该静默失败(如File.Delete方法吞没任何错误)? 最佳答案 如果指定的文件不存在,File.Delete不会抛出异常。[某些以前版本的MSDN文档错误地指出它确实如此]。try{stringfilename=@"C:\File.txt

c# - File.Delete() 与 FileInfo.Delete()

使用File对象的静态方法与创建新的FileInfo对象并调用这些方法有很大区别吗? 最佳答案 唯一的区别是File必须解析指定的路径(假设它是相对的),而FileInfo应该已经有解析的路径。 关于c#-File.Delete()与FileInfo.Delete(),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7773122/

c# - asp.net 中 ./, ../, ../../, ~/on file path(URL) 之间的区别

我有一个脚本文件。看到路径是~/Script。但是,如果我输入../../而不是~/,该过程也同样有效。我的网站URL如:https://sample.com/Scripts/angular.js如果我在Scripts之前输入../../,那么它会自动更改以前的URL(https://sample.com/Scripts/angular.js).Whatistheurlprocess?Andhowcanitsautomaticallychanged?andpleasetellabouttheDifferentbetween./,../,../../,~/,/Scripts,Script

c# - 如何更改 C# 中的 default(T) 返回值?

我想更改default(T)对某些类的行为方式。因此,我不想为我的引用类型返回null,而是返回一个null对象。有点像kids.Clear();varkid=kids.Where(k=>k.Age有人知道这是否可能吗? 最佳答案 Anyoneknowifthisisatallpossible?根本不可能。但也许您想使用DefaultIfEmpty相反:kids.Clear();varkid=kids.Where(k=>k.Age 关于c#-如何更改C#中的default(T)返回值?,

c# - 如何在 C# 中覆盖 default(T)?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowtochangewhatDefault(T)returnsinC#print(default(int)==0)//true同样,如果我有一个自定义对象,它的默认值将为null。print(default(Foo)==null)//true我可以为default(Foo)设置一个自定义值而不是null吗?例如,像这样:publicstaticoverrideFoodefault(){returnnewFoo();}这不会编译。谢谢..

c# - asp.net mvc 中的 File() 是否关闭流?

我想知道你是否做类似的事情publicFileResultresult(){Streamstream=newStream();returnFile(stream,"text/html","bob.html");}如果File()会为您关闭流?因为我试图将“流”放在using语句中,但它总是给我一个错误,说流已关闭。publicFileResultresult(){using(Streamstream=newStream()){returnFile(stream,"text/html","bob.html");}} 最佳答案 如果您使

c# - 生产中的 Azure SDK 2.2 : Could not load file or assembly 'msshrtmi' or one of its dependencies. 系统找不到指定的文件

我已经在StackOverflow和其他网站的其他几个线程上读到过这个问题。其他解决方案都没有解决我的问题,而且大多数都已过时,引用了旧版本的AzureSDK。我有一个典型的Azure网站角色部署到Azure,它使用Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener来记录跟踪消息。发生跟踪时,看起来好像DiagnosticMonitorTraceListener正在使用RoleEnvironment类,该类又会尝试加载显然不存在的msshrtmi.dll.这是记录到Azure文件系统的堆栈跟踪的一部分:[F

c# - 串行日志 : Log to different files

我正在将所有类型的事件记录到单个Json文件中,而不管LogLevel。现在我需要将一些自定义性能计数器记录到单独的Json文件中。如何在Serilog中完成此操作。我是否应该创建不同的记录器实例并在我要记录性能计数器的地方使用它?想将其与LibLog一起使用 最佳答案 您可以通过首先确保性能计数器事件标记有特定属性值(LibLog中的OpenMappedContext())或来自特定类型/命名空间来执行此操作。varlog=LogProvider.For()log.Info(...);配置Serilog时,一个sub-logger

c# - Properties.Settings.Default.Save(); ->那个文件在哪里

我有一个使用“设置”的应用。要保存我使用的设置:Properties.Settings.Default.Save();阅读我使用的:Properties.Settings.Default.MyCustomSetting;在我的应用程序文件夹中,我只有exe文件。没有配置文件。我的应用程序运行良好,可以读写设置。如果该文件不在应用程序文件夹中,该文件位于何处? 最佳答案 在我的WindowsXP机器上,设置保存在C:\DocumentsandSettings\\ApplicationData\下某处名为user.config的文件中。