Questions tagged «c#»

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

3
从对象列表获取属性列表
目前,我使用foreach循环返回object属性列表。 class X { List<X> Z = GetXlist(); List<String> r = new List<String>(); foreach (var z in Z) { r.Add(z.A); } return r; } 有没有一种方法可以缩短此时间,从而不必编写foreach循环?
88 c# 


11
找不到用于调试.NET源代码的.cs文件
我尝试按照此MDSN演练设置调试.NET源代码。正确设置了符号缓存,并选中了“启用.NET Framework源代码步进”。 但是随后,每当我要进入.NET代码时,系统都会提示我指定相关cs文件的位置。错误消息是 You need to find <filename>.cs to view the source for the current call stack frame和The debugger could not locate the source file <filename>.cs。 我可以浏览文件(但我没有)或查看反汇编文件(但我不想要)。 如何进入.NET源代码?
88 c#  .net  debugging 

21
实体框架核心:在上一个操作完成之前,在此上下文上启动了第二个操作
我正在使用Entity Framework Core进行ASP.Net Core 2.0项目 <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.1" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" PrivateAssets="All" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0"/> 在我的一种列表方法中,我收到此错误: InvalidOperationException: A second operation started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe. Microsoft.EntityFrameworkCore.Internal.ConcurrencyDetector.EnterCriticalSection() 这是我的方法: [HttpGet("{currentPage}/{pageSize}/")] [HttpGet("{currentPage}/{pageSize}/{search}")] public ListResponseVM<ClientVM> GetClients([FromRoute] int currentPage, …

29
无法开始调试。启动项目无法启动。VS2015
我已经在VS2015中启动了一个新的控制台项目。我只有这个代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SautinSoft; namespace PdfParser { class Program { static void Main(string[] args) { string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); SautinSoft.PdfFocus f = new PdfFocus(); f.OpenPdf(@"path:\abc.pdf"); if (f.PageCount > 0) f.ToExcel(@"path:\abc.xls"); } } } 当我尝试运行时,我得到了: 无法开始调试。启动项目无法启动。验证启动项目的调试设置。 我怎样才能解决这个问题?谢谢。



7
如何使用SqlConnectionStringBuilder从连接字符串获取数据库名称
我从不想使用字符串操作来拆分连接字符串并获取服务器,数据库,uid和密码。 我阅读了以下链接并阅读了接受的答案,我发现这是从连接字符串中获取用户名和密码的最佳方法,但是数据库名称呢? 从连接字符串获取用户名和密码的正确方法? 如何使用SqlConnectionStringBuilder从连接字符串获取数据库名称。(数据源是服务器名称吗?)
87 c#  asp.net  sql  ado.net 

11
Objective-C与C#相比如何?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我最近购买了Mac,并将其主要用于VMWare Fusion下的C#开发。有了周围所有不错的Mac应用程序,我开始考虑仅需单击安装即可隐藏Xcode,并学习Objective-C。 两种语言之间的语法看起来非常不同,大概是因为Objective-C起源于C,C#起源于Java / C ++。但是可以学习不同的语法,因此应该可以。 我主要关心的是使用该语言,它是否有助于生成结构良好,可读性强的代码。我真的很喜欢C#中的LINQ和var之类的功能,并且想知道Objective-C中是否有等效或更好/不同的功能。 使用Objective-C开发时会错过哪些语言功能?我将获得什么功能? 编辑:框架比较非常有用且有趣,但是语言比较才是这个问题真正要问的(部分原因是我最初使用标记的错误.net)。大概Cocoa和.NET本身都是非常丰富的框架,并且都有其用途,一个针对Mac OS X,另一个针对Windows。 谢谢您到目前为止的深思熟虑和合理平衡的观点!
87 c#  objective-c 

12
如何在C#中创建动态属性?
我正在寻找一种创建具有一组静态属性的类的方法。在运行时,我希望能够从数据库中向该对象添加其他动态属性。我还想为这些对象添加排序和过滤功能。 如何在C#中执行此操作?
87 c# 

5
在C#中,为什么匿名方法不能包含yield语句?
我认为做这样的事情会很好(用lambda进行收益回报): public IList<T> Find<T>(Expression<Func<T, bool>> expression) where T : class, new() { IList<T> list = GetList<T>(); var fun = expression.Compile(); var items = () => { foreach (var item in list) if (fun.Invoke(item)) yield return item; // This is not allowed by C# } return items.ToList(); } 但是,我发现我不能在匿名方法中使用yield。我想知道为什么。该产量的文档只是说,这是不允许的。 由于不允许使用,我只创建了List并将项目添加到其中。

3
lock(new object())—货物崇拜还是某种疯狂的“语言特殊情况”?
我正在审查由顾问编写的一些代码,虽然已经弹出了许多危险信号,但我无法将头包裹在以下代码片段中: private void foo() { if (InvokeRequired) { lock (new object()) { if (m_bar!= null) Invoke(new fooDelegate(foo), new object[] { }); } } else { if(OnBazChanged != null) OnBazChanged(); } } lock(new object())在这里做什么?因为它总是锁定在另一个对象上,所以应该没有任何作用,但是这种锁定在整个代码中都是持久的,即使在未复制粘贴的部分中也是如此。这是C#语言中的某种特殊情况,被编译成我不知道的东西吗?还是程序员只是采用了一些前一段时间发生的工作?

5
将非托管dll嵌入到托管C#dll中
我有一个托管C#dll,它使用DLLImport使用非托管C ++ dll。一切都很好。但是,我想将该非托管DLL嵌入到托管DLL中,如Microsoft所解释的那样: http://msdn.microsoft.com/zh-CN/library/system.runtime.interopservices.dllimportattribute.dllimportattribute.aspx 因此,我将非托管dll文件添加到了托管dll项目,将属性设置为“嵌入式资源”,并将DLLImport修改为: [DllImport("Unmanaged Driver.dll, Wrapper Engine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", CallingConvention = CallingConvention.Winapi)] 其中“包装器引擎”是我的托管DLL的程序集名称“非托管Driver.dll”是非托管DLL 当我跑步时,我得到: 访问被拒绝。(来自HRESULT的异常:0x80070005(E_ACCESSDENIED)) 我从MSDN和http://blogs.msdn.com/suzcook/看到这应该是可能的...

13
我可以在Windows(x64)64位环境上运行Memcached吗?
有谁知道IF,何时或如何使Memcached在Windows 64位环境上运行? 我正在设置一个新的托管解决方案,并且更希望运行64位操作系统,并且由于它是带有SQL Server DB的ASP.Net MVC解决方案,因此该操作系统将是Windows Server 2003或(希望如此)2008。 我知道这可能波及关于32位VS服务器上的64位进行辩论,但我们只想说,我的选择是64位,并且我有一些非常 好的理由。 到目前为止,我已经尝试了许多选项,并找到了一些与在32位计算机上进行安装有关的帮助(并且可能会添加成功),但是由于原始的Windows端口是Win32专用的,因此这几乎无济于事在x64上作为服务安装时。它也依赖于libevent,为此我只能获得Win32编译版本。 我怀疑仅仅将所有这些都加载到C ++中并点击“编译”(对于64位)是行不通的,尤其是由于32位和64位体系结构的复杂差异,但是我想知道是否有人在努力解决这个问题地面?不幸的是,我的专长仅在于托管代码(C#),否则我会自己尝试,但我不敢相信我是唯一尝试在64位Windows服务器上运行memcached的人。 ..我吗? 更新资料 是的,我担心我还在寻找答案-我(使用我的可怜的C ++技能)为稳定构建所做的所有努力都失败了-我浪费了一台服务器,而3个VM仅在尝试中,所以现在求助于真正的专家。有人打算将此移植到64位吗?还是您真的建议我改用MS Velocity?我为这个念头发抖。 更新:@Lars-我确实使用Enyim-很好,但是您指的是客户端,而不是服务器部分。 @DannySmurf-我只能将其作为服务安装在32位OS上。64位操作系统拒绝安装此Win32服务。当然可以,许多Win32代码可在x64架构上无缝运行,因此您可以在Vista / XP 64等平台上运行32位应用程序(例如Office)或游戏,但这在服务方面并不能直接转换。我不是专家,我怀疑这与同步或需要订阅服务的事件有关,并且我怀疑64和32不能很好地发挥作用。很高兴对此进行更正,但很高兴回答您的问题-是的,我已经尝试过。 @OJ-非常感谢您的直截了当的回复。我想了很多,但不确定是否有人提出建议或已经走了这条路。也许当StackOverflow处于活动状态时,那么会有更多的人做出回应,让我知道是否正在调查这个问题,尽管我可以自己尝试编译它-我根本无法“相信”(根据我的C ++经验)将在大型可扩展解决方案的关键组成部分中提供“企业级”可靠性。我认为,在我有信心之前,这需要有教养的干预方法,而不是我未经验证的实验方法。我的一点疏忽可能会使网站瘫痪。哦...直到下一次。
87 c#  c++  windows  64-bit  memcached 

3
在C#中通过WebClient将JSON发布到URL
我有一些JavaScript代码需要转换为C#。我的JavaScript代码将一些JSON POST到已创建的Web服务。此JavaScript代码可以正常运行,如下所示: var vm = { k: "1", a: "2", c: "3", v: "4" }; $.ajax({ url: "http://www.mysite.com/1.0/service/action", type: "POST", data: JSON.stringify(vm), contentType: "application/json;charset=utf-8", success: action_Succeeded, error: action_Failed }); function action_Succeeded(r) { console.log(r); } function log_Failed(r1, r2, r3) { alert("fail"); } 我试图弄清楚如何将其转换为C#。我的应用程序正在使用.NET 2.0。据我所知,我需要执行以下操作: using (WebClient client = new WebClient()) { …
87 c#  webclient 

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.