Questions tagged «c#»

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

5
执行插入命令并在Sql中返回插入的ID
我正在MVC 4中使用C#将一些值插入SQL表中。实际上,我想插入值并返回最后插入的记录的“ ID”。我使用以下代码。 public class MemberBasicData { public int Id { get; set; } public string Mem_NA { get; set; } public string Mem_Occ { get; set; } } 插入后,ID在数据库中自动增加。 public int CreateNewMember(string Mem_NA, string Mem_Occ ) { using (SqlConnection con=new SqlConnection(Config.ConnectionString)) { using(SqlCommand cmd=new SqlCommand("INSERT INTO Mem_Basic(Mem_Na,Mem_Occ) VALUES(@na,@occ)",con)) { …

12
将图像(按路径选择)转换为base64字符串
如何将图像从用户计算机上的路径转换为C#中的base64字符串? 例如,我有图像的路径(格式为C:/image/1.gif),并且希望有一个数据URI,例如data:image/gif;base64,/9j/4AAQSkZJRgABAgEAYABgAAD..代表1.gif返回的图像。
111 c#  image  base64 

3
使用XUnit声明异常
我是XUnit和Moq的新手。我有一个以字符串为参数的方法,如何使用XUnit处理异常。 [Fact] public void ProfileRepository_GetSettingsForUserIDWithInvalidArguments_ThrowsArgumentException() { //arrange ProfileRepository profiles = new ProfileRepository(); //act var result = profiles.GetSettingsForUserID(""); //assert //The below statement is not working as expected. Assert.Throws<ArgumentException>(() => profiles.GetSettingsForUserID("")); } 被测方法 public IEnumerable<Setting> GetSettingsForUserID(string userid) { if (string.IsNullOrWhiteSpace(userid)) throw new ArgumentException("User Id Cannot be null"); var s = profiles.Where(e => …
111 c#  unit-testing  xunit 

5
为什么在.NET Reactive Extensions中不推荐主题?
我目前正在掌握.NET的Reactive Extensions框架,并且正在通过各种发现的资源(主要是http://www.introtorx.com)进行工作。 我们的应用程序涉及许多检测网络帧的硬件接口,这些接口将是我的IObservables,然后,我将拥有各种组件,这些组件将消耗这些帧或对数据执行某种形式的转换并生成一种新型的帧。例如,还有其他组件需要显示第n个帧。我坚信Rx将对我们的应用程序有用,但是我正在为IObserver接口的实现细节而苦苦挣扎。 我正在阅读的大多数(如果不是全部)资源都说我不应该自己实现IObservable接口,而是使用所提供的函数或类之一。从我的研究看来,创建a Subject<IBaseFrame>将满足我的需求,我将拥有一个从硬件接口读取数据然后调用Subject<IBaseFrame>实例的OnNext函数的单线程。然后,不同的IObserver组件将从该主题接收其通知。 我的困惑来自本教程附录中的建议: 避免使用主题类型。Rx实际上是一种功能编程范例。使用主体意味着我们现在正在管理状态,该状态可能会发生变异。很难同时处理变异状态和异步编程。此外,许多操作符(扩展方法)都经过精心编写,以确保维持正确和一致的订阅和序列生存期。介绍主题时,您可以打破这一点。如果您明确使用主题,将来的版本可能还会看到性能显着下降。 我的应用程序对性能至关重要,显然,我将在将Rx模式用于生产代码之前测试其性能。但是,我担心通过使用Subject类所做的事情与Rx框架的精神背道而驰,并且该框架的未来版本将损害性能。 有做我想要的更好的方法吗?不管是否有观察者,硬件轮询线程都将连续运行(否则将备份硬件缓冲区),因此这是一个非常热的序列。然后,我需要将接收到的帧传递给多个观察者。 任何建议将不胜感激。



22
有没有比在开始时使用1 = 1更好的动态构建SQL WHERE子句的方法?
我正在C#中建立一些SQL查询。根据某些作为变量存储在代码中的条件,它会有所不同。 string Query="SELECT * FROM Table1 WHERE 1=1 "; if (condition1) Query += "AND Col1=0 "; if (condition2) Query += "AND Col2=1 "; if (condition3) Query += "AND Col3=2 "; 它可以工作,但是测试1 = 1似乎并不优雅。如果不使用它,则每次都必须记住并检查是否已在查询中添加“ where”关键字。 有更好的解决方案吗?
110 c#  sql 

8
ASP.NET Web API中的自定义方法名称
我正在从WCF Web API转换为新的ASP.NET MVC 4 Web API。我有一个UsersController,我想有一个名为Authenticate的方法。我看到了如何执行GetAll,GetOne,Post和Delete的示例,但是如果我想在这些服务中添加其他方法怎么办?例如,我的UsersService应该有一个称为Authenticate的方法,他们在其中传递用户名和密码,但这是行不通的。 public class UsersController : BaseApiController { public string GetAll() { return "getall!"; } public string Get(int id) { return "get 1! " + id; } public User GetAuthenticate(string userName, string password, string applicationName) { LogWriter.Write(String.Format("Received authenticate request for username {0} and password {1} …

4
此代码在发布模式下挂起,但在调试模式下可以正常工作
我遇到了这个问题,想知道在调试和发布模式下此行为的原因。 public static void Main(string[] args) { bool isComplete = false; var t = new Thread(() => { int i = 0; while (!isComplete) i += 0; }); t.Start(); Thread.Sleep(500); isComplete = true; t.Join(); Console.WriteLine("complete!"); }
110 c# 

4
Web参考与服务参考
我刚和Paypal碰到一堵巨大的砖墙。我创建了一个常规的C#项目,以使用其WSDL创建一些包装器类。 如果创建非Web项目,则添加wsdl的唯一选择是“ Web服务参考”。这样就建立了与Web参考相同的代理类集,但实际上不是。.它增加了很多甚至PayPal都不知道的代理类。 因此,我一直在这笔代理类列表中寻找正确的接口以用作服务(SoapBinding),PayPalAPIAASoapBinding但我一直没有告诉我们的PayPal联络人。 我只能看到以下2个接口,这些接口对我来说是我需要使用的接口,因为PayPalAPIAASoapBinding在基于Web参考的服务参考中没有看到您可以看到的接口: PayPalAPIAAInterfaceClient PayPalAPIInterfaceClient 所以我想出了,哦,我可能已经创建了一个Service Reference和Web Reference,Web Reference是Web项目中的一个选项。但是我不希望我的服务参考与我的Web项目紧密结合。这就是为什么我创建C#项目的原因。 那么,什么是服务参考与Web参考呢?如果Service Reference会给我带来一个循环并为我提供一套与Web Reference不同的接口,那么我应该如何将其分离到另一个项目中? 另外,令事情更加混乱的是,VS 2008有一个Web Service Application项目。 那我用什么呢? 我们使用的是.NET 3.5框架,还不准备转向WCF。因此,即使不使用WCF还是什么,我仍然可以使用新的服务参考吗?如果您使用的是.NET 3.5而不是WCF,并且您仍想进行基本的Web服务,那么您是否仍沿用了Service Reference路由而只是不使用WCF框架?意味着它仍然可以像.NET 2.0 Web Reference一样使用,只是您将获得完全不同的WSDL版本?
110 c#  .net-3.5  paypal 

1
在哪里了解VS调试器的“魔术名称”
如果您曾经使用过Reflector,您可能会注意到C#编译器会生成类型,方法,字段和局部变量,这些应由调试器进行“特殊”显示。例如,以“ CS $”开头的局部变量不会显示给用户。对于匿名方法的关闭类型,自动属性的后备字段等,还有其他特殊的命名约定。 我的问题:在哪里可以了解这些命名约定?有人知道一些文档吗? 我的目标是使PostSharp 2.0使用相同的约定。


4
为什么要在C#中实现ICloneable?
您能向我解释为什么我应该继承ICloneable并实现该Clone()方法吗? 如果要进行深层复制,是否可以仅执行我的方法?比方说MyClone()? 我为什么要继承ICloneable?有什么优势?这仅仅是使代码“更具可读性”的问题吗?
110 c#  .net  cloneable  icloneable 

5
如何排序通用列表DESC和ASC?
如何排序通用列表DESC和ASC?使用LINQ和不使用LINQ?我正在使用VS2008。 class Program { static void Main(string[] args) { List<int> li = new List<int>(); li.Add(456); li.Add(123); li.Add(12345667); li.Add(0); li.Add(1); li.Sort(); foreach (int item in li) { Console.WriteLine(item.ToString() + "\n"); } Console.ReadKey(); } }
110 c#  .net  linq 

18
如何从WinForms中的文本框中删除焦点?
我需要从几个TextBoxes中删除焦点。我尝试使用: textBox1.Focused = false; 其ReadOnly属性值为true。 然后,我尝试将焦点设置在窗体上,以便将其从所有TextBoxes中删除,但这也行不通: this.Focus(); false选择文本框后,函数返回。 那么,如何从TextBox中删除焦点?
110 c#  .net  winforms  textbox  focus 

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.