Questions tagged «c#»

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

4
Moq +单元测试-System.Reflection.TargetParameterCountException:参数计数不匹配
我试图使用带有多参数函数的lambda,但是当我尝试调用该行时,Moq在运行时抛出此异常mock.Object.Convert(value, null, null, null);。 System.Reflection.TargetParameterCountException:参数计数不匹配 代码是: var mock = new Mock<IValueConverter>(); mock.Setup(conv => conv.Convert(It.IsAny<Object>(), It.IsAny<Type>(), It.IsAny<Object>(), It.IsAny<CultureInfo>())).Returns((Int32 num) => num + 5); var value = 5; var expected = 10; var actual = mock.Object.Convert(value, null, null, null); 实施它的正确方法是什么?

1
C#RegEx:忽略大小写吗?
我正在使用System.Text.RegularExpressions.Regex.IsMatch(testString,regexPattern)在字符串中进行一些搜索。 有没有办法在regexPattern字符串中指定模式应忽略大小写的方式?(即,不使用Regex.IsMatch(testString,regexPattern,RegexOptions.IgnoreCase))
72 c#  regex 


3
如何明智地使用StringBuilder?
首先,我对使用StringBuilder类不太困惑: 一个string对象串联操作总是从现有的创建一个新的对象string和新的数据。甲StringBuilder对象维护一个缓冲器,以适应新的数据的串联。如果有可用空间,则将新数据附加到缓冲区的末尾;否则,将分配一个更大的新缓冲区,将原始缓冲区中的数据复制到新缓冲区中,然后将新数据附加到新缓冲区中。 但是创建StringBuilder实例以避免创建新实例的目的在String哪里呢?听起来像“一对一”交易。 static void Main(string[] args) { String foo = "123"; using (StringBuilder sb = new StringBuilder(foo)) // also sb isn't disposable, so there will be error { sb.Append("456"); foo = sb.ToString(); } Console.WriteLine(foo); Console.ReadKey(); } 为什么我不应该只使用 += 编辑:好的,我现在知道如何重用一个实例StringBuilder(仍然不知道这对代码标准是否正确),但是仅使用一个实例是不值得的string,不是吗?

21
Asp.NET Identity 2给出“无效令牌”错误
我正在使用Asp.Net-Identity-2,并且尝试使用以下方法来验证电子邮件验证代码。但是我收到“无效令牌”错误消息。 我的应用程序的用户管理器是这样的: public class AppUserManager : UserManager<AppUser> { public AppUserManager(IUserStore<AppUser> store) : base(store) { } public static AppUserManager Create(IdentityFactoryOptions<AppUserManager> options, IOwinContext context) { AppIdentityDbContext db = context.Get<AppIdentityDbContext>(); AppUserManager manager = new AppUserManager(new UserStore<AppUser>(db)); manager.PasswordValidator = new PasswordValidator { RequiredLength = 6, RequireNonLetterOrDigit = false, RequireDigit = false, RequireLowercase = true, …

3
用户控件-自定义属性
我已经在Visual Studio(WinForms C#)中开发了一个用户控件,并且有一个问题。 我需要我的用户控件的用户能够更改某些字符串值,并且我希望他们能够将用户控件添加到其窗体中,然后单击它以弹出“属性”窗格,其中我的用户控件的自定义属性将是显示。 如何为用户控件拥有自己的自定义属性?例如: 我的用户控件包含一个TextBox,我希望用户能够在设计时通过属性中名为“ Text”或“ Value”的属性来更改该TextBox的值。


5
在C#中并行运行三种方法的最简单方法
我使用三种方法进行一些数字运算,如下所示 results.LeftFront.CalcAi(); results.RightFront.CalcAi(); results.RearSuspension.CalcAi(geom, vehDef.Geometry.LTa.TaStiffness, vehDef.Geometry.RTa.TaStiffness); 每个函数彼此独立,并且可以在没有死锁的情况下并行计算。 没有完成包含方法直到所有三个方法都完成时,并行计算这些方法的最简单方法是什么?

12
要使用只读属性还是方法?
我需要公开类实例的“已映射? ”状态。结果通过基本检查确定。它不是简单地暴露字段的值。我不确定应该使用只读属性还是方法。 只读属性: public bool IsMapped { get { return MappedField != null; } } 方法: public bool IsMapped() { return MappedField != null; } 我已经阅读了MSDN的“属性和方法之间的选择”,但仍不确定。
72 c#  .net  class  methods  properties 

7
从URL下载/流文件-asp.net
我需要流式传输文件,这将导致在浏览器中保存为提示。问题是,该文件所在的目录已虚拟映射,因此我无法使用Server.MapPath确定其实际位置。该目录与网站不在同一位置(甚至不在实时服务器上)。 我想要以下内容,但这将允许我传递Web URL,而不是服务器文件路径。 我可能最终不得不从config基本路径构建我的文件路径,然后追加到路径的其余部分,但是希望我可以用这种方式代替。 var filePath = Server.MapPath(DOCUMENT_PATH); if (!File.Exists(filePath)) return; var fileInfo = new System.IO.FileInfo(filePath); Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", String.Format("attachment;filename=\"{0}\"", filePath)); Response.AddHeader("Content-Length", fileInfo.Length.ToString()); Response.WriteFile(filePath); Response.End();

3
C#-检测上一次用户与操作系统交互的时间
我正在编写一个小型任务栏应用程序,该应用程序需要检测用户上次与计算机交互的时间,以确定他们是否空闲。 是否有任何方法可以检索用户上一次移动鼠标,敲击键或与计算机进行任何交互的时间? 我认为Windows很明显会对此进行跟踪,以确定何时显示屏幕保护程序或关闭电源等,因此我假设有一个Windows API可以自己检索此屏幕?

6
一个单元应该如何测试.NET MVC控制器?
我正在寻找有关.NET mvc控制器的有效单元测试的建议。 在我工作的地方,许多此类测试都使用moq来模拟数据层并断言某些数据层方法已被调用。这对我来说似乎没有用,因为它实质上是在验证实现没有更改,而不是测试API。 我还阅读了一些推荐文章,例如检查返回的视图模型的类型是否正确。我可以看到它提供了一些价值,但仅凭它似乎不值得编写许多行模拟代码(我们的应用程序的数据模型非常大而复杂)。 谁能提出一些更好的控制器单元测试方法或解释上述方法为何有效/有用? 谢谢!


6
静态析构函数
C#具有静态构造函数,可以进行一些初始化(可能会进行一些非托管资源的初始化)。 我想知道是否有静态析构函数?
72 c#  .net 

4
EF包括其他实体(通用存储库模式)
我在Entity Framework Code First之上使用通用存储库模式。一切工作正常,直到我需要在查询中包含更多实体。我必须成功包含一个实体,但是现在我不知道如何包含多个实体。看看到目前为止我得到了什么: public IQueryable<TEntity> GetQuery<TEntity>() where TEntity : class { var entityName = GetEntityName<TEntity>(); return _objectContext.CreateQuery<TEntity>(entityName); } public IList<TEntity> GetQueryWithInclude<TEntity>(string toInclude) where TEntity : class { var entityName = GetEntityName<TEntity>(); return _objectContext.CreateQuery<TEntity>(entityName).Include(toInclude).ToList(); } private string GetEntityName<TEntity>() where TEntity : class { return string.Format("{0}.{1}", _objectContext.DefaultContainerName, _pluralizer.Pluralize(typeof(TEntity).Name)); } 我试图做但没用的是将字符串数组传递给函数,然后尝试将“包含”附加到查询顶部。我想知道如果我一次调用GetQueryWithInclude并传递一个实体名称(实际上是一个导航属性)来聚合查询结果该怎么办,但是我担心这可能会在每次调用时重复查询结果...您认为什么是使它正常工作的最佳方法? 提前致谢! …

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.