Questions tagged «c#»

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

1
在.NET中从URL读入字符串的最简单方法
给定字符串中的URL: http://www.example.com/test.xml 从服务器(由url指向)将文件内容下载到C#中的字符串中,最简单/最简洁的方法是什么? 我目前的操作方式是: WebRequest request = WebRequest.Create("http://www.example.com/test.xml"); WebResponse response = request.GetResponse(); Stream dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); string responseFromServer = reader.ReadToEnd(); 很多代码本质上可能只是一行: string responseFromServer = ????.GetStringFromUrl("http://www.example.com/test.xml"); 注意:我不担心异步调用-这不是生产代码。
109 c#  http  networking 

15
列出目录+子目录中的所有文件和目录
我想列出目录中包含的每个文件和目录以及该目录的子目录。如果我选择C:\作为目录,则程序将获取其有权访问的硬盘驱动器上每个文件和文件夹的每个名称。 列表可能看起来像 fd \ 1.txt fd \ 2.txt fd \ a \ fd \ b \ fd \ a \ 1.txt fd \ a \ 2.txt fd \ a \ a \ fd \ a \ b \ fd \ b \ 1.txt fd \ b \ 2.txt fd \ …


10
检查值是否在数组中(C#)
如何检查C#中的值是否在数组中? 像,我想创建一个带有打印机名称列表的数组。 这些将被提供给一个方法,该方法将依次查看每个字符串,如果该字符串与数组中的值相同,请执行该操作。 例如: string[] printer = {"jupiter", "neptune", "pangea", "mercury", "sonic"}; foreach (p in printer) { PrinterSetup(p); } 这些是打印机的名称,它们被馈送到PrinterSetup方法。 PrinterSetup看起来像这样(一些伪代码): public void PrinterSetup(printer) { if (printer == "jupiter") { Process.Start("BLAH BLAH CODE TO ADD PRINTER VIA WINDOWS EXEC"); } } 如何if (printer == "jupiter")以C#可以识别的方式格式化?
109 c#  .net  arrays  string 


8
NET的SFTP库
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 谁能推荐一个好的SFTP库使用?现在,我正在研究诸如SecureBlackbox,IPWorks SSH,WodSFTP和Rebex SFTP之类的产品。但是,我以前从未使用过任何SFTP库,因此不确定我要寻找的内容。 如果以前有人使用过这些产品,那么为什么我应该选择产品“ X”而不是“ Y”呢?
109 c#  .net  sftp 

28
升级到ASP.NET Core 2.0后无法创建迁移
升级到ASP.NET Core 2.0后,我似乎无法再创建迁移。 我越来越 “在类'Program'上调用方法'BuildWebHost'时发生错误。在没有应用程序服务提供商的情况下继续。错误:发生一个或多个错误。(登录名无法打开数据库“ ...”。登录失败。登录用户'...'失败 和 “无法创建类型为'MyContext'的对象。将'IDesignTimeDbContextFactory'的实现添加到项目中,或者在设计时参见 https://go.microsoft.com/fwlink/?linkid=851728&clcid=0x804。 我以前运行的命令是$ dotnet ef migrations add InitialCreate --startup-project "..\Web"(来自具有DBContext的项目/文件夹)。 连接字符串: "Server=(localdb)\\mssqllocaldb;Database=database;Trusted_Connection=True;MultipleActiveResultSets=true" 这是我的Program.cs public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .Build(); }

9
如何在Active Directory中获取用户组?(C#,asp.net)
我使用此代码来获取当前用户的组。但是我想手动给用户,然后得到他的组。我怎样才能做到这一点? using System.Security.Principal; public ArrayList Groups() { ArrayList groups = new ArrayList(); foreach (IdentityReference group in System.Web.HttpContext.Current.Request.LogonUserIdentity.Groups) { groups.Add(group.Translate(typeof(NTAccount)).ToString()); } return groups; }

7
如何在不加载内容的情况下在EntityFramework中计算行数?
我正在尝试确定如何使用EntityFramework 计算表上的匹配行。 问题在于每一行可能有许多兆字节的数据(在二进制字段中)。当然,SQL应该是这样的: SELECT COUNT(*) FROM [MyTable] WHERE [fkID] = '1'; 我可以加载所有行,然后找到Count: var owner = context.MyContainer.Where(t => t.ID == '1'); owner.MyTable.Load(); var count = owner.MyTable.Count(); 但这是完全无效的。有没有更简单的方法? 编辑:谢谢,所有。我已将数据库从专用附件中移出,以便可以进行性能分析;这会有所帮助,但会引起我意想不到的混乱。 而我的真实数据是深一点,我会用卡车运送托盘的案件的资料 -我不想让卡车离开除非有至少一个项目在里面。 我的尝试如下所示。我不了解的部分是CASE_2从不访问DB服务器(MSSQL)。 var truck = context.Truck.FirstOrDefault(t => (t.ID == truckID)); if (truck == null) return "Invalid Truck ID: " + truckID; var …

8
将范围添加到集合
一位同事今天问我如何将范围添加到集合中。他有一个继承自的类Collection<T>。有一个该类型的get-only属性,其中已经包含一些项目。他想将另一个集合中的项目添加到属性集合中。他如何以C#3友好的方式这样做?(请注意有关“仅获取”属性的约束,该约束会阻止执行Union和重新分配之类的解决方案。) 当然,与财产有关。添加将起作用。但是,List<T>风格的AddRange会更加优雅。 编写扩展方法很容易: public static class CollectionHelpers { public static void AddRange<T>(this ICollection<T> destination, IEnumerable<T> source) { foreach (T item in source) { destination.Add(item); } } } 但是我有种自己在重新发明轮子的感觉。我没有发现任何类似的System.Linq或morelinq。 设计不好?只需致电添加?缺少明显之处?

8
ref传递的列表-帮助我解释此行为
看一下以下程序: class Test { List<int> myList = new List<int>(); public void TestMethod() { myList.Add(100); myList.Add(50); myList.Add(10); ChangeList(myList); foreach (int i in myList) { Console.WriteLine(i); } } private void ChangeList(List<int> myList) { myList.Sort(); List<int> myList2 = new List<int>(); myList2.Add(3); myList2.Add(4); myList = myList2; } } 我以为myList会过去了ref,输出会 3 4 该列表确实是“由ref传递”的,但是只有该sort功能才能生效。以下语句myList = myList2;无效。 …


6
为什么在定义事件时需要“ event”关键字?
我不明白为什么在定义事件时为什么需要“事件”关键字,而仅使用委托就可以在不使用“事件”关键字的情况下完成相同的事情。 例如 public delegate void CustomEventHandler(int a, string b); public event CustomEventHandler customEvent; customEvent += new CustomEventHandler(customEventHandler); customEvent(1,"a"); // Raising the event 在这里,如果我从第二行中删除“ event”关键字,那么我也可以通过调用委托引发事件。有人可以告诉我为什么需要该事件关键字吗?
109 c#  .net 

1
错误:“要插入的节点来自其他文档上下文”
当我打电话时XmlNode.AppendChild(),出现以下错误: 要插入的节点来自其他文档上下文。 static public XmlNode XMLNewChildNode(XmlNode oParent, string sName, string sNamespaceURI, string sNodeType) { XmlNode oNode = moDoc.CreateNode(sNodeType, sName, sNamespaceURI); oParent.AppendChild(oNode); return oNode; } 这段代码是从它的VB 6.0版本转换而来的(请忽略可选参数,在C#版本中我对此有重载): Public Function XMLNewChildNode(ByVal oParent As IXMLDOMNode, ByVal _ sName As String, Optional ByVal sNamespaceURI As String = "", _ Optional ByVal sNodeType As String …
109 c#  xml 

9
如何使WinForms应用全屏显示
我有一个WinForms应用程序,我正在尝试使其全屏显示(有点像VS在全屏模式下所做的一样)。 目前,我设置FormBorderStyle到None和WindowState到Maximized这给我多一点空间,但如果它是可见它不包括放在任务栏上。 我还需要做什么来使用该空间? 对于奖励积分,我是否可以做些什么使自己的MenuStrip自动皮具也放弃该空间?
109 c#  .net  winforms 

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.