Questions tagged «c#»

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


21
Visual Studio 2015不突出显示剃须刀或Intellisense的语法
我在VS2015 RC中的Razor视图未显示C#代码的正确颜色。我的项目在VS2013中运行良好,但在2015年却没有,并且没有给我有关C#代码的任何Intellisense。解决方案已构建,站点运行正常。 我尝试了以下无济于事 禁用所有Visual Studio扩展 删除我的.suo文件 删除项目并将其重新添加到解决方案中 我怎样才能解决这个问题? 例:

4
如何使用global.asax中的Server.MapPath()?
我需要使用Server.MapPath()合并存储在中的一些文件路径web.config。 但是,由于Server.MapPath()依赖于当前的HttpContext(我认为),因此无法执行此操作。当尝试使用该方法时,即使其“可用”,我也会收到以下异常: 在这种情况下,服务器操作不可用。 是否有另一种方法可以将Web根目录相对目录映射到诸如~/App_Data/的完整物理路径C:\inetpub\wwwroot\project\App_data\?

6
为什么通常用十六进制值定义标志枚举
很多时候,我看到使用十六进制值的标志枚举声明。例如: [Flags] public enum MyEnum { None = 0x0, Flag1 = 0x1, Flag2 = 0x2, Flag3 = 0x4, Flag4 = 0x8, Flag5 = 0x10 } 当我声明一个枚举时,通常会这样声明: [Flags] public enum MyEnum { None = 0, Flag1 = 1, Flag2 = 2, Flag3 = 4, Flag4 = 8, Flag5 = 16 } …
121 c#  .net  enums  enum-flags 

3
这是斯巴达,还是?
以下是面试问题。我想出了一个解决方案,但不确定为什么。 题: 在不修改Sparta类的情况下,编写使MakeItReturnFalsereturn的代码false。 public class Sparta : Place { public bool MakeItReturnFalse() { return this is Sparta; } } 我的解决方案:(SPOILER) public class Place { public interface Sparta { } } 但是,为什么Sparta在MakeItReturnFalse()指{namespace}.Place.Sparta代替{namespace}.Sparta?

19
.NET XML序列化陷阱?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 在进行我想分享的C#XML序列化时,遇到了一些陷阱: 您无法序列化只读项(例如KeyValuePairs) 您无法序列化通用词典。相反,请尝试以下包装器类(来自http://weblogs.asp.net/pwelter34/archive/2006/05/03/444961.aspx): using System; using System.Collections.Generic; using System.Text; using System.Xml.Serialization; [XmlRoot("dictionary")] public class SerializableDictionary<TKey, TValue> : Dictionary<TKey, TValue>, IXmlSerializable { public System.Xml.Schema.XmlSchema GetSchema() { return null; } public void ReadXml(System.Xml.XmlReader reader) { XmlSerializer keySerializer = new XmlSerializer(typeof(TKey)); XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue)); bool wasEmpty = reader.IsEmptyElement; reader.Read(); …

4
为什么结构对齐取决于字段类型是基本类型还是用户定义的?
在Noda Time v2中,我们正在向纳秒级分辨率发展。这意味着我们不能再使用8字节整数来表示我们感兴趣的整个时间范围。这促使我研究了Noda Time的(许多)结构的内存使用情况,这反过来又导致了我在CLR的一致性决定中发现一点奇怪之处。 首先,我意识到这是一个实现决策,并且默认行为可以随时更改。我意识到我可以使用[StructLayout]和对其进行修改[FieldOffset],但我想提出一个解决方案,该方案在可能的情况下不需要。 我的核心场景是,我的struct包含一个引用类型字段和两个其他值类型字段,其中这些字段是的简单包装int。我曾希望在64位CLR上将其表示为16个字节(参考为8个字节,其他每个为4个字节),但是由于某种原因,它使用了24个字节。顺便说一句,我正在使用数组来测量空间-我知道布局在不同情况下可能会有所不同,但这感觉是一个合理的起点。 这是演示该问题的示例程序: using System; using System.Runtime.InteropServices; #pragma warning disable 0169 struct Int32Wrapper { int x; } struct TwoInt32s { int x, y; } struct TwoInt32Wrappers { Int32Wrapper x, y; } struct RefAndTwoInt32s { string text; int x, y; } struct RefAndTwoInt32Wrappers { string text; Int32Wrapper …

19
ASP.NET MVC-附加类型为“ MODELNAME”的实体失败,因为相同类型的另一个实体已经具有相同的主键值
简而言之,在POSTing包装器模型并将一个条目的状态更改为“已修改”期间会引发异常。在更改状态之前,将状态设置为“已分离”,但是调用Attach()确实会引发相同的错误。我正在使用EF6。 请在下面找到我的代码(型号名称已更改,以便于阅读) 模型 // Wrapper classes public class AViewModel { public A a { get; set; } public List<B> b { get; set; } public C c { get; set; } } 控制者 public ActionResult Edit(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } if (!canUserAccessA(id.Value)) return …

4
使用[Authorize]时,请求超出了配置的maxQueryStringLength
我在C#中有一个MVC3网站,我在一个特定的视图中从JavaScript函数获取查询参数,该函数通过重定向到该站点 window.location.href =“ ../ActionName?” + query_string; query_string是由JavaScript函数构建的动态查询参数字符串。 这种怪异的原因是,有时相同的函数由于必须使用reportviewer控件而将URL传递给ASP.Net Web窗体,在这种情况下,备用操作是保存一些参数,该函数将传递给视图。(如果没有意义,可以详细说明) 在向动作方法介绍[Authorize]之前,整个过程都工作正常。如果安装到位,则中断,如果没有,则可以正常运行,并且在其他所有方法上,[授权]都可以正常运行。 在这种情况下,整个网址的长度为966个字符,经过研究后,似乎maxQueryStringLength的默认值是2048,但可以覆盖任何整数类型的值,因此我只对咧嘴笑说就添加了 <security> <requestFiltering> <requestLimits maxQueryString="2048"></requestLimits> </requestFiltering> </security> 密钥下的Web配置文件的密钥。 那里没有欢乐,所以我很荒谬,把它变成了4096,仍然没有欢乐。 现在,整个URL的长度为966个字符,authorize属性不能再严重添加另外的1082-3130个字符,因此,我如何确定错误实际上是什么,或为什么设置无效。 VS2010 Pro SP1



3
如何在不知道字符串中包含哪些标签的情况下从字符串中删除所有HTML标签?
有什么简单的方法可以删除字符串中的所有HTML标记或任何与HTML相关的内容? 例如: string title = "<b> Hulk Hogan's Celebrity Championship Wrestling    <font color=\"#228b22\">[Proj # 206010]</font></b>    (Reality Series,  )" 以上应该是: “绿巨人霍根的名人冠军摔跤[项目编号206010](现实系列)”
121 c#  html 

6
C#Regex for Guid
我需要解析一个字符串,并在每个Guid值周围添加单引号。我当时以为可以使用Regex来做到这一点,但我并不是正则表达式专家。 是否有一个好的正则表达式可用于标识Guid? 我的第二个问题是,一旦我发现我想使用一个有效的正则表达式,就会Regex.Replace(String, String, MatchEvaluator)对语法有所不确定。也许像: return Regex.Replace(stringToFindMatch, GuidRegex, match => { return string.Format("'{0}'", match.Groups[0].ToString()); }); 我要解析的字符串可能看起来像这样: “从PASSWORD_CONFIG passwordco0_ WHERE passwordco0_.PASSWORD_CONFIG_ID = baf04077-a3c0-454b-ac6f-9fec00b8e170; @ p0 = baf04077-a3c0-454b-ac6f-9fec00 [[]]上,选择PASSWORDco0_.PASSWORD_CONFIG_ID作为PASSWORD1_46_0_,
121 c#  regex 


3
如何遍历C#.net目录中的所有文件?
我想在文件夹及其子文件夹中获取文件。以下代码不在其子文件夹中获取文件: string[] files = Directory.GetFiles(txtFolderPath.Text, "*ProfileHandler.cs"); 谁能告诉我如何在c#.net中实现这一点?
121 c#  .net 

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.