Questions tagged «c#»

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

15
单一方法上课-最佳方法?
说我有一个旨在执行单个功能的类。执行该功能后,可以将其销毁。是否有任何理由偏爱其中一种方法? // Initialize arguments in constructor MyClass myObject = new MyClass(arg1, arg2, arg3); myObject.myMethod(); // Pass arguments to method MyClass myObject = new MyClass(); myObject.myMethod(arg1, arg2, arg3); // Pass arguments to static method MyClass.myMethod(arg1, arg2, arg3); 我故意对细节含糊不清,以尝试获取针对不同情况的指导。但是我真的没有想到像Math.random()这样的简单库函数。我在想更多的类来执行一些特定的,复杂的任务,但只需要一个(公共)方法即可。
172 c#  java  oop  static-methods 

2
从IEnumerable <KeyValuePair <>>重新创建字典
我有一个返回的方法IEnumerable&lt;KeyValuePair&lt;string, ArrayList&gt;&gt;,但是某些调用者要求该方法的结果为字典。如何将转换IEnumerable&lt;KeyValuePair&lt;string, ArrayList&gt;&gt;为Dictionary&lt;string, ArrayList&gt;以便使用TryGetValue? 方法: public IEnumerable&lt;KeyValuePair&lt;string, ArrayList&gt;&gt; GetComponents() { // ... yield return new KeyValuePair&lt;string, ArrayList&gt;(t.Name, controlInformation); } 呼叫者: Dictionary&lt;string, ArrayList&gt; actual = target.GetComponents(); actual.ContainsKey("something");

3
.NET中有什么ApplicationException?
要抛出异常,我通常使用内置的异常类,例如ArgumentNullException和NotSupportedException。但是,有时我需要使用自定义异常,在这种情况下,我会写: class SlippedOnABananaException : Exception { } class ChokedOnAnAppleException : Exception { } 等等。然后我将它们扔到我的代码中。但是今天我遇到了ApplicationException全班学生-我应该改用它吗?这是为了什么? 拥有许多名称完全不同的有效相同的Exception类似乎没有效率(我通常不需要任何单独的功能)。但是我不喜欢捕获泛型ApplicationException并且必须使用额外的代码来确定错误是什么的想法。 ApplicationException我的代码应该放在哪里?

9
ReSharper有哪些替代方案?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 我正在考虑购买ReSharper许可证,但是ReSharper是否有其他选择,与ReSharper相比,您如何评价它们? 它不一定是免费的替代品,但我只想知道等效产品的好坏。

30
测试方法尚无定论:测试未运行。错误?
我有一个测试班,下面我发布了一个测试班的样本测试 namespace AdminPortal.Tests.Controller_Test.Customer { [TestClass] public class BusinessUnitControllerTests { private IBusinessUnitRepository _mockBusinessUnitRepository; private BusinessUnitController _controller; [TestInitialize] public void TestInitialize() { _mockBusinessUnitRepository = MockRepository.GenerateMock&lt;IBusinessUnitRepository&gt;(); _controller = new BusinessUnitController(_mockBusinessUnitRepository); } [TestCleanup] public void TestCleanup() { _mockBusinessUnitRepository = null; _controller.Dispose(); _controller = null; } #region Index Action Tests [TestMethod] public void Index_Action_Calls_GetAllBusinessUnit() { …

13
无法将字符串识别为有效的DateTime“格式dd / MM / yyyy”
我正在尝试将我的字符串格式值转换为format的日期类型dd/MM/yyyy。 this.Text="22/11/2009"; DateTime date = DateTime.Parse(this.Text); 问题是什么 ?它有第二个覆盖要求IFormatProvider。这是什么?难道我还需要通过这个?如果是,在这种情况下如何使用它? 编辑 Parse和之间有什么区别ParseExact? 编辑2 Slaks和Sam的两个答案都对我有用,当前用户正在提供输入,但是我可以通过使用maskTextbox确保它们有效。 考虑到诸如安全类型,性能或您感觉类似的所有方面,哪个答案更好
172 c#  .net  datetime  types  casting 

5
为了在通用类型或方法“ System.Nullable <T>”中将其用作参数T,类型“ string”必须为非空类型
为什么会出现错误“类型'string'必须是不可为空的值类型,以便在通用类型或方法'System.Nullable'中将其用作参数'T'”? using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; using Universe; namespace Universe { public class clsdictionary { private string? m_Word = ""; private string? m_Meaning = ""; string? Word { get { return m_Word; } set { m_Word = value; } } string? Meaning { get { …
172 c#  nullable 

9
C#int转换为byte []
我需要将转换int为byte[]一种方法BitConverter.GetBytes()。但不确定是否符合以下规范: XDR有符号整数是一个32位数据,它对[-2147483648,2147483647]范围内的整数进行编码。整数用二进制补码表示。最高和最低有效字节分别为0和3。整数声明如下: 资源: RFC1014 3.2 我如何做一个可以满足上述规范的整数到字节的转换?
172 c#  .net  bit-manipulation  nfs 

12
如何在List <>中找到最后一个元素?
以下是我的代码的摘录: public class AllIntegerIDs { public AllIntegerIDs() { m_MessageID = 0; m_MessageType = 0; m_ClassID = 0; m_CategoryID = 0; m_MessageText = null; } ~AllIntegerIDs() { } public void SetIntegerValues (int messageID, int messagetype, int classID, int categoryID) { this.m_MessageID = messageID; this.m_MessageType = messagetype; this.m_ClassID = classID; this.m_CategoryID = …
172 c#  list  for-loop 


8
当我只能使用普通的IEnumerable时,为什么要使用yield关键字?
给出以下代码: IEnumerable&lt;object&gt; FilteredList() { foreach( object item in FullList ) { if( IsItemInPartialList( item ) ) yield return item; } } 为什么我不应该这样编码呢?: IEnumerable&lt;object&gt; FilteredList() { var list = new List&lt;object&gt;(); foreach( object item in FullList ) { if( IsItemInPartialList( item ) ) list.Add(item); } return list; } 我有点理解yield关键字的作用。它告诉编译器构建某种事物(迭代器)。但是为什么要使用它呢?除了代码少一点,它对我有什么作用?
171 c#  yield 

3
使用LINQ选择字典<T1,T2>
我已经使用“ select”关键字和扩展方法来返回IEnumerable&lt;T&gt;LINQ,但是我需要返回一个泛型Dictionary&lt;T1, T2&gt;并且无法弄清楚。我从使用类似于以下形式的内容中学到了以下示例: IEnumerable&lt;T&gt; coll = from x in y select new SomeClass{ prop1 = value1, prop2 = value2 }; 我也对扩展方法做了同样的事情。我假设因为Dictionary&lt;T1, T2&gt;可以重复进行中的项, 因为KeyValuePair&lt;T1, T2&gt;我可以将上面示例中的“ SomeClass”替换为“ new KeyValuePair&lt;T1, T2&gt; { ...”,但这没有用(键和值被标记为只读,因此我无法编译此代码)。 这可能吗,还是我需要分多个步骤进行? 谢谢。
171 c#  .net  linq  generics 

5
如何通过.net代码将表值参数传递给存储过程
我有一个SQL Server 2005数据库。在一些过程中,我有一些表参数,这些参数以nvarchar(用逗号分隔)传递给存储的proc,并在内部划分为单个值。我将其添加到SQL命令参数列表中,如下所示: cmd.Parameters.Add("@Logins", SqlDbType.NVarchar).Value = "jim18,jenny1975,cosmo"; 我必须将数据库迁移到SQL Server2008。我知道有表值参数,并且知道如何在存储过程中使用它们。但是我不知道如何在SQL命令中将其传递给参数列表。 有人知道该Parameters.Add过程的正确语法吗?还是有另一种方式传递此参数?

7
混合Razor和Javascript代码
我对如何混合剃须刀和js感到很困惑。这是我坚持的当前功能: &lt;script type="text/javascript"&gt; var data = []; @foreach (var r in Model.rows) { data.push([ @r.UnixTime * 1000, @r.Value ]); } 如果我可以用声明c#代码,&lt;c#&gt;&lt;/c#&gt;而其他所有内容都是JS代码,这就是我所追求的: &lt;script type="text/javascript"&gt; var data = []; &lt;c#&gt;@foreach (var r in Model.rows) {&lt;/c#&gt; data.push([ &lt;c#&gt;@r.UnixTime&lt;/c#&gt; * 1000, &lt;c#&gt;@r.Value&lt;/c#&gt; ]); &lt;c#&gt;}&lt;/c#&gt; 实现此目的的最佳方法是什么?
171 c#  javascript  razor 

11
怎么转换DateTime?到DateTime
我想将可为null的DateTime(DateTime?)转换为DateTime,但出现错误: 无法隐式转换类型'System.DateTime?' 到“ System.DateTime”。存在显式转换(您是否缺少演员表?) 我尝试了以下操作: DateTime UpdatedTime = (DateTime)_objHotelPackageOrder.UpdatedDate == null ? DateTime.Now : _objHotelPackageOrder.UpdatedDate;
171 c#  .net  datetime 

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.