Questions tagged «c#»

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

11
使用uint vs int [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 改善这个问题 我观察了一段时间,C#程序员倾向于在所有地方使用int,很少使用uint。但是我从来没有找到一个令人满意的答案。 如果您希望互操作性成为目标,那么uint不应出现在公共API中,因为并非所有的CLI语言都支持无符号整数。但这并不能解释为什么int如此流行,即使在内部类中也是如此。我怀疑这是uint在BCL中很少使用的原因。 在C ++中,如果您有一个没有负值的整数,则选择一个无符号整数。 这显然表示不允许或期望使用负数,并且编译器将为您做一些检查。我还怀疑在数组索引的情况下,JIT可以轻易放弃下限检查。 但是,在混合int和单位类型时,需要格外小心和强制转换。 应该更多使用uint吗?为什么?
83 c# 

8
内存分配:堆栈还是堆?
我对Stack vs Heap之间的内存分配基础感到困惑。根据标准定义(每个人都说),所有值类型都将分配到堆栈上,而引用类型将放入堆中。 现在考虑以下示例: class MyClass { int myInt = 0; string myString = "Something"; } class Program { static void Main(string[] args) { MyClass m = new MyClass(); } } 现在,如何在c#中进行内存分配?MyClass(m)的对象会完全分配给堆吗?也就是说,int myInt和string myString既会去堆? 还是将对象分为两部分,并分配给两个内存位置,即堆栈和堆?
83 c#  .net  stack  heap 

6
如何使用Linq to Entity获得最大ID?
我有一个表User,该表有一个Identity列UserID,现在返回给我max的正确的Linq to Entity代码行是UserID什么? 我试过了: using (MyDBEntities db = new MyDBEntities()) { var User = db.Users.Last(); // or var User = db.Users.Max(); return user.UserID; } 但是Last和Max似乎并没有得到支持。 有任何想法吗?

18
如何每天在特定时间在C#中调用方法?
我已经搜索了SO,找到了有关Quartz.net的答案。但这对于我的项目来说似乎太大了。我想要一个等效的解决方案,但要更简单(最好是在代码中)(不需要外部库)。如何每天在特定时间调用方法? 我需要添加一些有关此的信息: 最简单(最丑陋)的方法是每秒钟/分钟检查一次时间,并在正确的时间调用该方法 我想要一种更有效的方法来执行此操作,而无需经常检查时间,并且可以控制该作业是否完成。如果该方法失败(由于任何问题),则程序应知道要写入日志/发送电子邮件。这就是为什么我需要调用方法而不是安排工作的原因。 我发现此解决方案在Java中固定时间在Java中调用方法。C#中有类似的方法吗? 编辑:我已经做到了。我在void Main()中添加了一个参数,并创建了一个蝙蝠(由Windows Task Scheduler计划)以使用此参数运行程序。程序运行,执行工作,然后退出。如果作业失败,则可以写日志和发送电子邮件。这种方法很符合我的要求:)

7
Html.LabelFor指定的文字
任何人都对使用时如何指定文本有任何想法Html.LabelFor(c=>c.MyField)。它MyField可能不是在屏幕上显示的适当名称,您可能想要“ The Super Fantastic Field”,但似乎没有任何重载。 有任何想法吗?
83 c#  asp.net-mvc  razor 

11
MaxLength属性未生成客户端验证属性
我对ASP.NET MVC3客户端验证有一个奇怪的问题。我有以下课程: public class Instrument : BaseObject { public int Id { get; set; } [Required(ErrorMessage = "Name is required.")] [MaxLength(40, ErrorMessage = "Name cannot be longer than 40 characters.")] public string Name { get; set; } } 在我看来: <div class="editor-field"> @Html.EditorFor(model => model.Name) @Html.ValidationMessageFor(model => model.Name) </div> 这是我为此字段的文本框获取的生成的HTML: <input …


8
使用IEnumerable.Intersect()的多个列表的交集
我有一个列表列表,我想像这样找到交集: var list1 = new List<int>() { 1, 2, 3 }; var list2 = new List<int>() { 2, 3, 4 }; var list3 = new List<int>() { 3, 4, 5 }; var listOfLists = new List<List<int>>() { list1, list2, list3 }; // expected intersection is List<int>() { 3 }; 有没有办法用IEnumerable.Intersect()做到这一点? …
83 c#  .net  linq 

21
查找字符串中第N个出现的字符
我需要创建C#方法来返回字符串中第N个字符的索引的帮助。 例如,'t'字符串中字符的第3次出现"dtststxtu"是5。 (请注意,字符串有4 ts。)
83 c#  string 

4
JObject.Parse与JsonConvert.DeserializeObject
JsonConvert.DeserializeObject和JObject.Parse有什么区别?据我所知,这两个字符串都位于Json.NET库中。哪种情况会比另一种更方便,或者主要是偏爱? 作为参考,这是我的一个示例,我使用这两个示例执行完全相同的操作-解析Json字符串并返回Json属性之一的列表。 public ActionResult ReadJson() { string countiesJson = "{'Everything':[{'county_name':null,'description':null,'feat_class':'Civil','feature_id':'36865'," +"'fips_class':'H1','fips_county_cd':'1','full_county_name':null,'link_title':null,'url':'http://www.alachuacounty.us/','name':'Alachua County'"+ ",'primary_latitude':'29.7','primary_longitude':'-82.33','state_abbreviation':'FL','state_name':'Florida'},"+ "{'county_name':null,'description':null,"+ "'feat_class':'Civil','feature_id':'36866','fips_class':'H1','fips_county_cd':'3','full_county_name':null,'link_title':null,'url':'http://www.bakercountyfl.org/','name':'Baker County','primary_latitude':'30.33','primary_longitude':'-82.29','state_abbreviation':'FL','state_name':'Florida'}]}"; //Can use either JSONParseObject or JSONParseDynamic here List<string> counties = JSONParseObject(countiesJson); JSONParseDynamic(countiesJson); return View(counties); } public List<string> JSONParseObject(string jsonText) { JObject jResults = JObject.Parse(jsonText); List<string> counties = new List<string>(); foreach (var county in jResults["Everything"]) …


5
按字母顺序对列表进行排序
我有以下课程: class Detail { public Detail() { _details = new List<string>(); } public IList<string> Details { get { return _details; } } private readonly List<string> _details; } 目前,我使用以下内容对课程进行随机排序: void ShuffleGenericList<T>(IList<T> list) { //generate a Random instance var rnd = new Random(); //get the count of items in the list var …
83 c#  .net  linq  sorting 

6
添加HttpClient标头会生成带有某些值的FormatException
这是在针对Google Cloud Messaging进行编码的情况下发生的,但在其他地方也适用。 考虑以下: var http = new HttpClient(); http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key=XXX"); 和 var http = new HttpClient(); http.DefaultRequestHeaders.Add("Authorization", "key=XXX"); 两者都生成FormatException: System.FormatException:值key = XXX'的格式无效。 解决方法是删除等号。 深入了解反射器表明,添加新的标头值时会运行大量的验证和解析代码。为什么这一切都是必要的?这个客户难道不应该躲开我们吗? 如何逃避等号,以便成功添加此值?

1
如何使用LINQ过滤字典并将其返回相同类型的字典
我有以下字典: Dictionary<int,string> dic = new Dictionary<int,string>(); dic[1] = "A"; dic[2] = "B"; 我想过滤字典中的项目并将结果重新分配给相同的变量: dic = dic.Where (p => p.Key == 1); 如何将相同类型[ <int,string>]的结果作为字典返回? 我试过了ToDictionary,但是没有用。 提前致谢。

2
将变量转换为仅在运行时已知的类型?
foreach (var filter in filters) { var filterType = typeof(Filters); var method = filterType.GetMethod(filter, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Static); if (method != null) { var parameters = method.GetParameters(); Type paramType = parameters[0].ParameterType; value = (string)method.Invoke(null, new[] { value }); } } 我怎样才能投value来paramType?value是string,paramType很可能只是一个基本的类型一样int,string或者可能float。如果无法进行转换,我会抛出异常很酷。
83 c# 

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.