Questions tagged «c#»

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

8
匿名类可以实现接口吗?
是否可以使用匿名类型实现接口? 我有一段我想工作的代码,但是不知道该怎么做。 我有几个答案,要么说不,要么创建一个实现接口的类,以构造新的实例。这并不是很理想,但是我想知道是否有一种机制可以在接口顶部创建一个精简的动态类,从而简化这一过程。 public interface DummyInterface { string A { get; } string B { get; } } public class DummySource { public string A { get; set; } public string C { get; set; } public string D { get; set; } } public class Test { public void …

10
将整数转换为十六进制并再次返回
如何转换以下内容? 2934(整数)到B76(十六进制) 让我解释一下我要做什么。我的数据库中有用户ID,它们存储为整数。与其让用户引用其ID,不如让他们使用十六进制值。主要原因是因为它更短。 因此,不仅需要从整数转换为十六进制,而且还需要从十六进制转换为整数。 有没有一种简单的方法可以在C#中做到这一点?
461 c#  hex  type-conversion 


30
如何仅在DateTime对象中的C#中删除日期的时间部分?
我需要删除日期时间中的时间部分,或者可能采用以下格式的日期,object而不是以的形式string。 06/26/2009 00:00:00:000 我无法使用任何string转换方法,因为我需要object表格中的日期。 我尝试先将转换为,然后DateTime从中string删除特定时间的日期,但是12:00:00 AM一旦我DateTime object再次将其转换回原来的日期,它就会添加。
457 c#  datetime 

9
与LINQ和Lambda一起/在哪里
我遇到了用LINQ和Lambda编写的查询的麻烦。到目前为止,我的代码很多: int id = 1; var query = database.Posts.Join(database.Post_Metas, post => database.Posts.Where(x => x.ID == id), meta => database.Post_Metas.Where(x => x.Post_ID == id), (post, meta) => new { Post = post, Meta = meta }); 我是使用LINQ的新手,所以不确定此查询是否正确。
457 c#  linq  join  lambda 


27
如何从路径和文件名中删除非法字符?
我需要一种健壮且简单的方法来从简单的字符串中删除非法的路径和文件字符。我使用了下面的代码,但是它似乎什么也没做,我想念的是什么? using System; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string illegal = "\"M<>\"\\a/ry/ h**ad:>> a\\/:*?\"<>| li*tt|le|| la\"mb.?"; illegal = illegal.Trim(Path.GetInvalidFileNameChars()); illegal = illegal.Trim(Path.GetInvalidPathChars()); Console.WriteLine(illegal); Console.ReadLine(); } } }
456 c#  string  path  directory 


29
编写重试逻辑的最简洁方法?
有时我需要在放弃之前重试几次操作。我的代码是这样的: int retries = 3; while(true) { try { DoSomething(); break; // success! } catch { if(--retries == 0) throw; else Thread.Sleep(1000); } } 我想用一般的重试功能将其重写为: TryThreeTimes(DoSomething); 在C#中可以吗?该TryThreeTimes()方法的代码是什么?
455 c#  .net 




26
迭代时如何从通用列表中删除元素?
我正在寻找一种更好的模式来处理元素列表,每个元素都需要处理,然后根据结果从列表中删除。 您不能.Remove(element)在内使用foreach (var element in X)(因为这会导致Collection was modified; enumeration operation may not execute.异常)...您也不能使用for (int i = 0; i < elements.Count(); i++),.RemoveAt(i)因为这会干扰您相对于的当前位置i。 有没有一种优雅的方法可以做到这一点?
450 c#  list  loops  generics  key-value 

25
为什么C#不允许静态方法实现接口?
为什么用这种方式设计C#? 据我了解,接口仅描述行为,并且其目的是为实现某些行为的接口描述类的合同义务。 如果类希望以共享方法实现这种行为,为什么不呢? 这是我想到的一个例子: // These items will be displayed in a list on the screen. public interface IListItem { string ScreenName(); ... } public class Animal: IListItem { // All animals will be called "Animal". public static string ScreenName() { return "Animal"; } .... } public class Person: IListItem …

30
使字符串的首字母大写(具有最佳性能)
我有DetailsView一个TextBox 和我想要的输入数据来始终保存的第一个字母注册资本。 例: "red" --> "Red" "red house" --> " Red house" 我如何才能实现这种最大化的性能? 注意: 根据答案和答案下的注释,许多人认为这是在问是否要大写字符串中的所有单词。例如=> Red House ,不是这样,但是如果您要寻找的是,请寻找使用TextInfo的ToTitleCase方法的答案之一。(注意:这些答案对于实际提出的问题是不正确的。) 请参见TextInfo.ToTitleCase文档进行警告(不要触摸全大写字母的单词-它们被视为首字母缩写词;可以在单词中间用小写字母表示“不应”)降低,例如“ McDonald” =>“ Mcdonald”;不保证处理所有特定于文化的细微之处重新大写。) 注: 现在的问题是含糊不清,是否后的第一个字母应该被迫以小写。接受的答案假定只应更改第一个字母。如果您想强制,除了第一个字符串中的所有字母是小写,寻找一个答案包含ToLower和不包含ToTitleCase。
447 c#  performance 

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.