Questions tagged «c#»

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

1
为什么Attributes.IsDefined()缺少重载?
受SO问题启发。Attribute类具有IsDefined()方法的多个重载。涵盖了应用于程序集,模块,成员信息,参数信息的属性。MemberInfo重载涵盖PropertyInfo,FieldInfo,EventInfo,MethodInfo,ConstructorInfo。 这将处理大多数AttributeTargets。除了一个缺点:Attribute.IsDefined(Type,Type)没有重载,因此您可以检查是否在类上定义了属性。或针对此问题的结构,委托或枚举。 并不是说这是一个真正的问题,Type.GetCustomAttributes()可以解决此问题。但是所有的BlahInfo类型也都具有此功能。我不知道缺乏对称性。我无法确定为什么这会对Type造成问题。猜测继承问题并不能向我解释。混合使用ValueType可能会领先,但这仍然没有意义。我不买“他们忘了”,他们从来不买。 为什么这种超载丢失了?
165 c#  .net  reflection 

27
如何检查给定的字符串在Windows下是否为合法/有效的文件名?
我想在我的应用程序中包含一个批处理文件重命名功能。用户可以键入目标文件名模式,并且(在替换模式中的一些通配符之后)我需要检查它是否将在Windows下成为合法文件名。我尝试使用正则表达式,[a-zA-Z0-9_]+但它不包含来自多种语言的许多国家特定字符(例如变音符号等)。做这种检查的最好方法是什么?
165 c#  windows  file  filesystems 

12
IEntityChangeTracker的多个实例不能引用实体对象。在实体框架4.1中向实体添加相关对象时
我正在尝试保存“员工”详细信息,其中包含“城市”的引用。但是每次尝试保存我的联系人时,都会得到验证“ ADO.Net Entity Framework一个实体对象不能被IEntityChangeTracker的多个实例引用”的异常。 我已经阅读了很多文章,但仍然不知道该怎么做...我的“保存”按钮的点击代码如下 protected void Button1_Click(object sender, EventArgs e) { EmployeeService es = new EmployeeService(); CityService cs = new CityService(); DateTime dt = new DateTime(2008, 12, 12); Payroll.Entities.Employee e1 = new Payroll.Entities.Employee(); Payroll.Entities.City city1 = cs.SelectCity(Convert.ToInt64(cmbCity.SelectedItem.Value)); e1.Name = "Archana"; e1.Title = "aaaa"; e1.BirthDate = dt; e1.Gender = "F"; …

20
在MSIL中可以做什么,而在C#或VB.NET中不能做什么?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 用.NET语言编写的所有代码都可以编译为MSIL,但是是否存在只能直接使用MSIL才能执行的特定任务/操作? 让我们在MSIL中也比C#,VB.NET,F#,j#或任何其他.NET语言更轻松地完成工作。 到目前为止,我们有: 尾递归 通用协/反方差 仅在返回类型上有所不同的过载 覆盖访问修饰符 有一个不能从System.Object继承的类 过滤的异常(可以在vb.net中完成) 调用当前静态类类型的虚拟方法。 获取值类型的盒装版本的句柄。 尝试/故障。 禁止名称的用法。 为值类型定义自己的无参数构造函数。 用raise元素定义事件。 CLR允许某些转换,但C#不允许。 将非main()方法设为.entrypoint。 直接使用本机int和本机unsigned int类型。 玩瞬态指针 在MethodBodyItem中发出字节指令 抛出并捕获非System.Exception类型 继承枚举(未验证) 您可以将字节数组视为int数组(小4倍)。 您可以将字段/方法/属性/事件都具有相同的名称(未验证)。 您可以从其自己的catch块分支回try块。 您可以访问famandassem访问说明符(protected internal是fam 或 assem) 直接访问<Module>用于定义全局函数的类或模块初始化器。
165 c#  .net  clr  cil 


3
Visual Studio-Resx文件默认从“内部”到“公共”
每次我在VS中编辑资源文件时,它都会重新生成相应的代码,并将类访问修饰符设置为internal。 每次编辑resx时,都很难按Ctrl-F-> ReplaceAll。是否有属性/设置,以便可以将其默认设置为公共? internal class MyResource { internal static global::System.Resources.ResourceManager ResourceManager {...} } 我需要所有这些internal是public所有的时间。

6
Lookup()和Dictionary(Of list())之间的区别
我正在努力寻找最有效的数据结构以及何时/何地使用哪种数据结构。 现在,可能是我只是对结构不够了解而已,但是它ILookup(of key, ...)与a Dictionary(of key, list(of ...))有何不同? 此外,ILookup在程序速度/内存/数据访问等方面,我想在哪里使用?在哪里使用效率更高?
165 c#  .net  vb.net  linq 

10
?? 合并为空字符串?
我发现自己做的越来越多的事情是检查字符串是否为空(如in ""或null)和条件运算符。 当前示例: s.SiteNumber.IsNullOrEmpty() ? "No Number" : s.SiteNumber; 这只是一个扩展方法,它等效于: string.IsNullOrEmpty(s.SiteNumber) ? "No Number" : s.SiteNumber; 由于它是空的而不是null,??因此不会解决问题。一个string.IsNullOrEmpty()版本的??将是完美的解决方案。我在想必须有一种更清洁的方法(我希望!),但是我一直茫然地找不到它。 有谁知道这样做的更好方法,即使仅在.Net 4.0中也是如此?


6
C#枚举中的方法
在Java中,可以在枚举内包含方法。 C#中是否存在这种可能性,或者仅仅是字符串集合而已? 我试图覆盖,ToString()但它不能编译。有人有一个简单的代码示例吗?
165 c#  enums  enumeration 

7
如何使方法的返回类型通用?
有没有办法使此方法通用,以便我可以返回字符串,bool,int或double?现在,它正在返回一个字符串,但是如果它能够找到“ true”或“ false”作为配置值,那么我想返回一个布尔值。 public static string ConfigSetting(string settingName) { return ConfigurationManager.AppSettings[settingName]; }
165 c#  .net  generics  return-type 

15
无法加载文件或程序集“ System.Net.Http,版本= 4.0.0.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a”
我已将项目复制到仅安装了Visual Studio 2015社区和SQL Server 2016 Express的干净的Windows 10计算机上。除了与Windows 10和VS2015或SQL Server一起安装的框架版本外,没有安装其他框架版本。 当我尝试启动WebApi项目时,出现以下消息: 无法加载文件或程序集“ System.Net.Http,版本= 4.0.0.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。 该项目的软件包包括: <package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net45" /> <package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" /> <package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" /> <package id="Microsoft.AspNet.WebApi.Tracing" version="5.2.3" targetFramework="net45" /> <package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net45" /> 使用.NET Framework 4.6.1构建项目后,System.Net.Http在文件bin夹中找不到该文件。 该文件的路径指向: C:\ Program Files(x86)\ Reference Assemblys …

12
C ++ for循环之前从未见过
我正在将C ++算法转换为C#。我遇到了这个for循环: for (u = b.size(), v = b.back(); u--; v = p[v]) b[u] = v; 它在C ++中没有错误,但在C#中却没有(无法将int转换为bool)。我真的不知道这个for循环,条件在哪里? 有人可以解释一下吗? PS。只是检查一下,以使VECTOR适应LIST,b.back()是否对应于b [b.Count-1]?
164 c#  c++  for-loop 


2
为什么不对WinRT进行托管?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 Windows 8引入了WinRT,它类似于.NET但不受管理。为什么不受管理?这是性能问题吗?这是否意味着垃圾回收不适用于较低级别的API?

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.