Questions tagged «c#»

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

4
C#将Lambda表达式作为方法参数传递
我有一个lambda表达式,希望能够传递和重用。这是代码: public List<IJob> getJobs(/* i want to pass the lambda expr in here */) { using (SqlConnection connection = new SqlConnection(getConnectionString())) { connection.Open(); return connection.Query<FullTimeJob, Student, FullTimeJob>(sql, (job, student) => { job.Student = student; job.StudentId = student.Id; return job; }, splitOn: "user_id", param: parameters).ToList<IJob>(); } 这里的关键是,我希望能够将在此使用的lambda表达式传递到调用此代码的方法中,以便我可以重用它。lambda表达式是我的.Query方法中的第二个参数。我假设我想使用Action或Func,但是我不太确定此语法是什么或它如何工作。有人可以给我一个例子吗?
105 c#  linq  lambda 

6
如何将命令行参数传递给WinForms应用程序?
我有两个不同的WinForms应用程序,AppA和AppB。两者都运行.NET 2.0。 在AppA中,我想打开AppB,但是我需要将命令行参数传递给它。如何使用在命令行中传递的参数? 这是我当前在AppB中使用的主要方法,但我认为您不能更改此方法? static void main() { }

18
C#-如何确定类型是否为数字
有没有一种方法可以确定给定的.Net类型是否为数字?例如:System.UInt32/UInt16/Double都是数字。我想避免在上放置一个较长的开关盒Type.FullName。
105 c#  .net  types 

19
部署ClickOnce应用程序时出错-清单中的引用与下载的程序集的标识不匹配
我正在尝试部署ClickOnce应用程序,但是在客户端上安装失败。这是错误日志: PLATFORM VERSION INFO Windows : 6.1.7601.65536 (Win32NT) Common Language Runtime : 4.0.30319.1 System.Deployment.dll : 4.0.30319.1 (RTMRel.030319-0100) clr.dll : 4.0.30319.1 (RTMRel.030319-0100) dfdll.dll : 4.0.30319.1 (RTMRel.030319-0100) dfshim.dll : 4.0.31106.0 (Main.031106-0000) SOURCES Deployment url : http://MyProduct.com/download/workstation/MyProduct%20Front%20Desk.application Server : Microsoft-IIS/7.5 X-Powered-By : ASP.NET Deployment Provider url : http://MyProduct.com/Download/Workstation/MyProduct%20Front%20Desk.application Server : Microsoft-IIS/7.5 X-Powered-By : …

9
确保控制器具有无参数的公共构造函数错误
我遵循了本教程,该教程效果很好,直到我修改了我的教程DbContext以拥有其他构造函数。我现在在分辨率方面遇到问题,不确定如何解决此问题。有没有一种简单的方法可以强制它抓住无参数的构造函数,或者我处理方法不正确? DbContext 有两个构造函数: public class DashboardDbContext : DbContext { public DashboardDbContext() : base("DefaultConnection") { } public DashboardDbContext(DbConnection dbConnection, bool owns) : base(dbConnection, owns) { } } SiteController 构造函数: private readonly IDashboardRepository _repo; public SiteController(IDashboardRepository repo) { _repo = repo; } 仓库: DashboardDbContext _context; public DashboardRepository(DashboardDbContext context) { _context = context; …

4
int到十六进制字符串
我需要将int转换为十六进制字符串。 1400 => 578使用ToString("X")或转换时ToString("X2"),我需要像0578。 谁能提供给我IFormatter以确保字符串长度为4个字符?
105 c# 


2
在.NET Web应用程序中获取当前目录
因此,我有一个Web项目,并且尝试使用c#方法获取网站的根目录Directory.GetCurrentDirectory()。我不想使用静态路径,因为文件位置将来会更改。此方法在我的imageProcess.aspx.cs文件中运行,但是我认为它将返回: C:\Users\tcbl\documents\visual studio 2010\Projects\ModelMonitoring\ModelMonitoring\imageProcess.aspx.cs 我反而得到: C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\ 谁能解释为什么会这样以及可能的解决方案是什么?非常感谢。
105 c#  asp.net  .net  directory  filepath 

7
C#Sort和OrderBy比较
我可以使用Sort或OrderBy对列表进行排序。哪一个更快?两者都在使用相同的算法吗? List<Person> persons = new List<Person>(); persons.Add(new Person("P005", "Janson")); persons.Add(new Person("P002", "Aravind")); persons.Add(new Person("P007", "Kazhal")); 1。 persons.Sort((p1,p2)=>string.Compare(p1.Name,p2.Name,true)); 2。 var query = persons.OrderBy(n => n.Name, new NameComparer()); class NameComparer : IComparer<string> { public int Compare(string x,string y) { return string.Compare(x, y, true); } }

8
如何以mm / dd / yyyy格式获取C#中的今天日期?
如何以mm / dd / yyyy格式获取C#中的今天日期? 我需要将字符串变量设置为今天的日期(最好是不带年份),但是有一种比一次一次构建一个月/日的更好的方法。 顺便说一句:我在美国,所以M / dd是正确的,例如9月11日是9/11。 注意:来自kronoz的答案来自讨论国际化的问题,我认为这很值得一提,因为我也无法将其设为“可接受的”答案。 克罗诺兹的答案
105 c#  date 

9
为什么C#默认将方法实现为非虚拟方法?
与Java不同,为什么C#默认将方法视为非虚函数?它是否更可能是性能问题,而不是其他可能的结果? 我想起了安德斯·海斯伯格(Anders Hejlsberg)读的一段有关现有架构所带来的优势的文章。但是,副作用呢?默认情况下使用非虚拟方法真的不错吗?

7
Linq代码选择一项
我发现自己编写了很多这样的代码来选择一个匹配的项目 var item = (from x in Items where x.Id == 123 select x).First(); 有没有更干净的方法可以做到?还是像我将要得到的那样简洁? 编辑:应该说“使用linq语法的更清洁的方式”。我已经知道了lambda语法,并且开始看起来这实际上是唯一的方法。我确实得到了一些有用的信息,所以感谢所有回答。
105 c#  linq 

12
通过电子邮件发送嵌入式图片
通过电子邮件发送图像作为身体中的嵌入式图像时出现问题。图像文件显示为可以的附件,但内联图像部分仅显示为红色x。 这是我到目前为止的 LinkedResource inline = new LinkedResource(filePath); inline.ContentId = Guid.NewGuid().ToString(); MailMessage mail = new MailMessage(); Attachment att = new Attachment(filePath); att.ContentDisposition.Inline = true; mail.From = from_email; mail.To.Add(data.email); mail.Subject = "Client: " + data.client_id + " Has Sent You A Screenshot"; mail.Body = String.Format( "<h3>Client: " + data.client_id + " Has …
105 c#  image  email  smtp  inline 

5
如何在.NET中产生并等待实现控制流?
据我了解yield,如果从迭代器块内部使用该关键字,它将控制流返回到调用代码,并且当再次调用该迭代器时,它将在中断的地方继续执行。 同样,await不仅等待被调用方,而且将控制权返回给调用方,仅在调用方awaits方法时从中断的地方接管。 换句话说,没有线程,异步和等待的“并发性”是由聪明的控制流引起的错觉,其细节被语法隐藏了。 现在,我是一名前汇编程序员,并且对指令指针,堆栈等非常熟悉,并且了解了正常的控制流程(子例程,递归,循环,分支)的工作方式。但是这些新结构-我不明白。 当await到达,如何运行时知道什么是一段代码下一步应该执行?它如何知道何时可以从上次中断的地方恢复,以及如何记住在哪里?当前调用堆栈发生了什么,是否以某种方式保存了它?如果调用方法在此之前进行其他方法调用await怎么办?为什么堆栈不被覆盖?在异常和堆栈展开的情况下,运行时到底将如何处理所有这一切? 当yield到达,如何运行跟踪那里的东西应该拿起点的?迭代器状态如何保存?


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.