Questions tagged «c#»

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

4
.NET中字节的文字后缀?
我想知道是否有任何方法可以像floats或doubles这样简短地声明字节变量?我的意思是5f和5d。当然可以写byte x = 5,但是如果var用于局部变量,那有点无关紧要。
162 c#  .net  value-type 

8
Collection <T>与List <T>在界面上应使用什么?
代码如下所示: namespace Test { public interface IMyClass { List&lt;IMyClass&gt; GetList(); } public class MyClass : IMyClass { public List&lt;IMyClass&gt; GetList() { return new List&lt;IMyClass&gt;(); } } } 当我运行代码分析时,我得到以下建议。 警告3 CA1002:Microsoft.Design:将“ IMyClass.GetList()”中的“列表”更改为使用Collection,ReadOnlyCollection或KeyedCollection 我应该如何解决这个问题,这是什么好的做法?

8
将值附加到查询字符串
我设置的URL与列表中的URL类似 http://somesite.com/backup/lol.php?id=1&amp;server=4&amp;location=us http://somesite.com/news.php?article=1&amp;lang=zh-CN 我设法使用以下代码获取查询字符串: myurl = longurl.Split('?'); NameValueCollection qs = HttpUtility.ParseQueryString(myurl [1]); foreach (string lol in qs) { // results will return } 但是它仅基于提供的URL 返回诸如id,server,location等参数 。 我需要为现有查询字符串添加/附加值。 例如,URL: http://somesite.com/backup/index.php?action=login&amp;attempts=1 我需要更改查询字符串参数的值: 行动=登录1 尝试次数= 11 如您所见,我为每个值附加了“ 1”。我需要从其中具有不同查询字符串的字符串中获取一组URL,然后在每个参数的末尾添加一个值,然后再次将它们添加到列表中。

5
针对C#中引用的XSD验证XML
我有一个具有指定架构位置的XML文件,例如: xsi:schemaLocation="someurl ..\localSchemaPath.xsd" 我想在C#中验证。当我打开文件时,Visual Studio会根据架构对其进行验证并完美列出错误。但是,不知何故,我似乎无法在C#中自动验证它,而无需指定要验证的架构,如下所示: XmlDocument asset = new XmlDocument(); XmlTextReader schemaReader = new XmlTextReader("relativeSchemaPath"); XmlSchema schema = XmlSchema.Read(schemaReader, SchemaValidationHandler); asset.Schemas.Add(schema); asset.Load(filename); asset.Validate(DocumentValidationHandler); 我是否应该能够自动使用XML文件中指定的模式进行验证?我想念什么?
161 c#  xml  xsd 

11
为什么在创建带参数的默认无参数构造函数时会消失
在C#,C ++和Java中,当创建带有参数的构造函数时,默认的无参数函数将消失。我一直只是接受这个事实,但是现在我开始怀疑为什么。 这种行为的原因是什么?难道仅仅是“安全措施/猜测”这样的说法:“如果您创建了自己的构造函数,那么您可能不希望这种隐式结构徘徊”?还是出于技术原因,一旦您自己创建了构造函数,编译器就不可能添加一个?

8
如何将C#匿名类型序列化为JSON字符串?
我正在尝试使用以下代码将匿名类型序列化为JSON: var serializer = new DataContractJsonSerializer(thing.GetType()); var ms = new MemoryStream(); serializer.WriteObject(ms, thing); var json = Encoding.Default.GetString(ms.ToArray()); 但是,执行此操作时,出现以下异常: 类型'&lt;&gt; f__AnonymousType1`3 [System.Int32,System.Int32,System.Object []]'无法序列化。考虑使用DataContractAttribute属性标记它,并使用DataMemberAttribute属性标记要序列化的所有成员。有关其他受支持的类型,请参见Microsoft .NET Framework文档。 据我所知,我不能将属性应用于匿名类型。是否有另一种方法来执行此序列化,或者我缺少什么?

7
如何使用__doPostBack()
我正在尝试使用在ASP.NET中创建异步回发__doPostBack(),但是我不知道该怎么做。我想使用香草JavaScript。 诸如单击按钮之类的简单操作可能导致__doPostBack()事件触发。我只是想学习该机制的工作原理。

5
.NET正则表达式中的“组”和“捕获”之间有什么区别?
对于.NET的正则表达式语言,“组”和“捕获”之间的区别让我有些模糊。考虑以下C#代码: MatchCollection matches = Regex.Matches("{Q}", @"^\{([A-Z])\}$"); 我希望这会导致字母'Q'的单个捕获,但是如果我打印返回的属性,则会MatchCollection看到: matches.Count: 1 matches[0].Value: {Q} matches[0].Captures.Count: 1 matches[0].Captures[0].Value: {Q} matches[0].Groups.Count: 2 matches[0].Groups[0].Value: {Q} matches[0].Groups[0].Captures.Count: 1 matches[0].Groups[0].Captures[0].Value: {Q} matches[0].Groups[1].Value: Q matches[0].Groups[1].Captures.Count: 1 matches[0].Groups[1].Captures[0].Value: Q 这到底是怎么回事?我知道整个比赛也都有机会,但是小组如何进入?为什么不matches[0].Captures包括字母“ Q”的捕获?
161 c#  .net  regex 

11
C#:在单个语句中将相同的值分配给多个变量
有什么办法(出于好奇,因为我今天遇到了对多个变量的多个同值分配)在单个语句中一次将一个值分配给多个变量? 遵循以下原则(伪代码): int num1 = 1; int num2 = 1; num1 &amp; num2 = 5; 可能不是,但我认为值得一问,以防确实有可能发生类似的事情!
161 c# 

8
使用linq从两个对象列表创建一个列表
我有以下情况 class Person { string Name; int Value; int Change; } List&lt;Person&gt; list1; List&lt;Person&gt; list2; 我需要将2个列表合并到一个新列表List&lt;Person&gt; 中,以防合并记录具有相同的人名,即list2中人的值,更改将是list2的值-list1的值。如果没有重复,则更改为0
161 c#  linq 

13
创建一个.txt文件(如果不存在),并添加新行
我想创建一个.txt文件并将其写入,如果该文件已经存在,我只想追加一些行: string path = @"E:\AppServ\Example.txt"; if (!File.Exists(path)) { File.Create(path); TextWriter tw = new StreamWriter(path); tw.WriteLine("The very first line!"); tw.Close(); } else if (File.Exists(path)) { TextWriter tw = new StreamWriter(path); tw.WriteLine("The next line!"); tw.Close(); } 但是第一行似乎总是被覆盖...如何避免在同一行上写(我在循环中使用它)? 我知道这是一件非常简单的事情,但是我以前从未使用过该WriteLine方法。我是C#的新手。
161 c#  text-files 

4
ASP.NET Core中基于令牌的身份验证
我正在使用ASP.NET Core应用程序。我正在尝试实施基于令牌的身份验证,但无法弄清楚如何为我的案例使用新的安全系统。我查看了一些示例,但是它们并没有太大帮助,它们使用cookie身份验证或外部身份验证(GitHub,Microsoft,Twitter)。 我的情况是:angularjs应用程序应请求/token传递用户名和密码的url。WebApi应该授权用户并返回access_token,它将在以下请求中由angularjs应用程序使用。 我找到了一篇很棒的文章,内容涉及在ASP.NET的当前版本中完全实现所需的内容- 使用ASP.NET Web API 2,Owin和Identity的基于令牌的身份验证。但是对我来说,如何在ASP.NET Core中执行相同的操作并不明显。 我的问题是:如何配置ASP.NET Core WebApi应用程序以与基于令牌的身份验证一起使用?

5
C#交互式窗口可以与我的代码进行交互吗?
在Visual Studio 2015或更高版本中,我可以打开“ C#交互式窗口”,然后运行代码: &gt; 5 + 3 8 那很可爱。现在我该如何交互我的代码(我的类)?假设我有一个开放的项目。 &gt; new Cog() (1,5): error CS0246: The type or namespace name 'Cog' could not be found (are you missing a using directive or an assembly reference?)
161 c#  .net  visual-studio  roslyn 

7
Find()与Where()。FirstOrDefault()
我经常看到人们Where.FirstOrDefault()用来搜索并获取第一个元素。为什么不只是使用Find()?对方有优势吗?我无法分辨。 namespace LinqFindVsWhere { class Program { static void Main(string[] args) { List&lt;string&gt; list = new List&lt;string&gt;(); list.AddRange(new string[] { "item1", "item2", "item3", "item4" }); string item2 = list.Find(x =&gt; x == "item2"); Console.WriteLine(item2 == null ? "not found" : "found"); string item3 = list.Where(x =&gt; x == "item3").FirstOrDefault(); Console.WriteLine(item3 …
161 c#  linq  linq-to-objects 

8
将JSON字符串转换为JSON对象C#
我将此字符串存储在数据库中: str = "{ "context_name": { "lower_bound": "value", "upper_bound": "value", "values": [ "value1", "valueN" ] } }" 该字符串已经是JSON格式,但是我想将其转换为JObject或JSON Object。 JObject json = new JObject(); 我尝试了json = (JObject)str;演员表,但没有成功,该怎么办?
161 c#  asp.net  json  string  parsing 

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.