Questions tagged «c#»

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

13
为什么要使用MVVM?
好的,我一直在研究MVVM模式,每次以前尝试进行研究时,出于以下原因我都放弃了: 不必要的超长编码 对于编码人员没有明显的优势(我的办公室没有设计师。目前只有我自己很快将成为另一个编码人员) 良好实践的资源/文档不多!(或者至少很难找到) 无法想到一个有利的单一方案。 我将再次放弃它,以为我要问是否有人回答了上述原因。 老实说,我看不出将其用于单个/合作伙伴编码的优势。即使在具有十个窗口的复杂项目中。对我来说,DataSet是一个足够好的视图和绑定,就像布伦特在以下问题中的回答一样 有人可以显示一个示例,与XAML DataBinding相比,使用MVVM模式可以节省时间。 目前,我100%的绑定是在XAML中完成的。因此,我不认为VM的意义在于它只是我需要编写和依赖的额外代码。 编辑: 在花了一个下午的时间研究MVVM之后,我终于找到了使我意识到此答案的真正好处的东西。
77 c#  wpf  mvvm 

9
迭代器与枚举器之间的区别
.NET 3.5作业的面试问题是“迭代器和枚举器有什么区别”? 这是要做出的核心区分,对于LINQ等等。 无论如何,有什么区别?我似乎在网上找不到可靠的定义。没错,我可以找到两个术语的含义,但是得到的答案略有不同。面试的最佳答案是什么? IMO迭代器在集合上“迭代”,并且枚举器提供了迭代功能,但这必须调用。 另外,据说使用yield关键字可以保存状态。这个状态到底是什么?有这种好处发生的例子吗?


5
使用json.net反序列化没有类型信息的多态json类
此Imgur api调用返回一个列表,其中包含以JSON表示的Gallery Image和Gallery Album类。 鉴于没有$ type属性告诉反序列化器要表示哪个类,因此我看不到如何使用Json.NET自动反序列化。有一个称为“ IsAlbum”的属性,可用于区分两者。 这个问题似乎显示了一种方法,但看起来有点像个hack。 我该如何反序列化这些类?(使用C#,Json.NET)。 样本数据: 图库图片 { "id": "OUHDm", "title": "My most recent drawing. Spent over 100 hours.", ... "is_album": false } 画廊专辑 { "id": "lDRB2", "title": "Imgur Office", ... "is_album": true, "images_count": 3, "images": [ { "id": "24nLu", ... "link": "http://i.imgur.com/24nLu.jpg" }, { "id": …

9
等待文件完全写入
在一个目录中创建文件(FileSystemWatcher_Created)后,我将其复制到另一个目录。但是,当我创建一个较大的文件(> 10MB)时,它无法复制文件,因为它已经开始复制,而文件还没有完成创建。 这导致无法复制文件,因为它被另一个进程使用。提高。;(有 什么帮助吗? class Program { static void Main(string[] args) { string path = @"D:\levan\FolderListenerTest\ListenedFolder"; FileSystemWatcher listener; listener = new FileSystemWatcher(path); listener.Created += new FileSystemEventHandler(listener_Created); listener.EnableRaisingEvents = true; while (Console.ReadLine() != "exit") ; } public static void listener_Created(object sender, FileSystemEventArgs e) { Console.WriteLine ( "File Created:\n" + "ChangeType: " …
77 c#  file  io  filesystems  copy 

7
如何等待C#中的事件?
我正在创建一个包含一系列事件的类,其中一个是GameShuttingDown。触发此事件后,我需要调用事件处理程序。该事件的目的是通知用户游戏正在关闭,他们需要保存其数据。可以等待保存,而不能等待事件。因此,当处理程序被调用时,游戏将在等待的处理程序完成之前关闭。 public event EventHandler<EventArgs> GameShuttingDown; public virtual async Task ShutdownGame() { await this.NotifyGameShuttingDown(); await this.SaveWorlds(); this.NotifyGameShutDown(); } private async Task SaveWorlds() { foreach (DefaultWorld world in this.Worlds) { await this.worldService.SaveWorld(world); } } protected virtual void NotifyGameShuttingDown() { var handler = this.GameShuttingDown; if (handler == null) { return; } handler(this, new …

14
使用C#查找字符串中的文本
如何在字符串中找到给定的文本?之后,我想在此与其他之间创建一个新字符串。例如,如果字符串是: This is an example string and my data is here 我想创建一个字符串,其中“ my”和“ is”之间应该是什么?这是很伪的,但希望它是有道理的。
77 c#  string  find 

9
如何使DataGridView显示所选行?
我需要强制DataGridView显示所选内容row。 简而言之,我有一个textbox可DGV根据键入的内容更改选择textbox。发生这种情况时,选择将更改为match row。 不幸的是,如果所选row内容不在视图中,我必须手动向下滚动才能找到所选内容。有谁知道如何强制DGV显示所选内容row? 谢谢!

9
可以使用Console.Clear仅清除一行而不是整个控制台吗?
在为学校编写问题/答案程序时,我想到可以Console.Clear()擦除屏幕上的所有内容。我想知道是否可以使用Console.Readline(valueOne),然后仅输出答案而没有问题。如果我只问一个问题,那就行了Console.Clear。 我有几个问题,它们的值不参考,如果可能的话,要消除。我想省略问题,只显示几个答案。我认为,如果我存储答案,则可以Console.Clear()仅Console.WriteLine()使用三个变量。我可以做这样的事情: Console.WriteLine("Value 1 is: {0:c}" + "Value 2 is: {1:c}" + "Value 3 is: {2:c}, valueOne, valueTwo, valueThree). 使用引用更容易解决问题,因为可以存储和检索值。如果我仅使用方法来按值传递并输出该值,main()则不会引用这些值来清除并再次输出。这就是为什么我想问我是否可以问一个问题,然后删除一行并仅输出答案(或一个答案)的原因。 我只是试图了解可能性,而不是尝试设置程序。我想知道从参考值和按值输出值的能力,而无需额外的输出问题。
77 c# 


11
在“ foreach”循环中修改列表的最佳方法是什么?
C#/ .NET 4.0中的一项新功能是您可以在foreach不更改异常的情况下在中更改可枚举。有关此更改的信息,请参见Paul Jackson的博客条目“并发的有趣副作用:枚举时从集合中删除项目”。 进行以下操作的最佳方法是什么? foreach(var item in Enumerable) { foreach(var item2 in item.Enumerable) { item.Add(new item2) } } 通常,我会IList在末尾使用用作缓存/缓冲区foreach,但是还有更好的方法吗?

2
为什么.NET中有5个版本的Timer类?
.Net框架中为什么有五个计时器类,即以下类: System.Timers.Timer System.Threading.Timer System.Windows.Forms.Timer System.Web.UI.Timer System.Windows.Threading.DispatcherTimer 为什么Timer类有多个版本?它们之间有什么区别?
77 c#  .net  timer 

7
设计C#类库时,何时应选择通过接口继承?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我有一个数字Processor类,可以做两种非常不同的事情,但是是从通用代码中调用的(“控制反转”情况)。 我想知道在决定它们是否都应该继承自BaseProcessor或实现IProcessor为接口时,我应该了解哪些设计考虑因素(或者对您来说是对用户有用的认识)。

5
将JObject转换为Dictionary <string,object>。可能吗?
我有一个Web API方法,可以将任意json有效内容接受到JObject属性中。因此,我不知道会发生什么,但是我仍然需要将其转换为.NET类型。我想拥有一个Dictionary&lt;string,object&gt;以便可以按我想要的任何方式处理它。 我进行了很多搜索,但找不到任何东西,最终启动了一个凌乱的方法来进行此转换,一个键一个键,一个值一个值。有简单的方法吗? 输入-&gt; JObject person = new JObject( new JProperty("Name", "John Smith"), new JProperty("BirthDate", new DateTime(1983, 3, 20)), new JProperty("Hobbies", new JArray("Play football", "Programming")), new JProperty("Extra", new JObject( new JProperty("Foo", 1), new JProperty("Bar", new JArray(1, 2, 3)) ) ) 谢谢!
77 c#  .net  json  json.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.