Questions tagged «c#»

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

15
检测到自引用循环-将数据从WebApi取回浏览器
我正在使用Entity Framework,并且在将父数据和子数据获取到浏览器时遇到问题。这是我的课程: public class Question { public int QuestionId { get; set; } public string Title { get; set; } public virtual ICollection<Answer> Answers { get; set; } } public class Answer { public int AnswerId { get; set; } public string Text { get; set; } public int QuestionId …

5
返回IList <T>比返回T []或List <T>差吗?
这样的问题的答案:List &lt;T&gt;或IList &lt;T&gt;似乎总是同意,返回接口比返回集合的具体实现更好。但是我为此感到挣扎。实例化接口是不可能的,因此,如果您的方法正在返回接口,则实际上它仍在返回特定的实现。我通过编写2个小方法对此进行了一些试验: public static IList&lt;int&gt; ExposeArrayIList() { return new[] { 1, 2, 3 }; } public static IList&lt;int&gt; ExposeListIList() { return new List&lt;int&gt; { 1, 2, 3 }; } 并在我的测试程序中使用它们: static void Main(string[] args) { IList&lt;int&gt; arrayIList = ExposeArrayIList(); IList&lt;int&gt; listIList = ExposeListIList(); //Will give a runtime error arrayIList.Add(10); …


7
ASP.NET自定义404返回200 OK,而不是找不到404
在尝试为Google网站站长工具设置我的网站后,我发现我的“自定义ASP.NET 404”页面未返回404状态代码。它显示了正确的自定义页面,并告诉浏览器一切正常。这被视为软404或错误404。Google不喜欢这样。因此,我找到了很多有关该问题的文章,但是我想要的解决方案似乎没有用。 我要工作的解决方案是将以下两行添加到自定义404页面的Page_Load方法后面的代码中。 Response.Status = "404 Not Found"; Response.StatusCode = 404; 这行不通。该页面仍然返回200 OK。但是我发现,如果我将以下代码硬编码到设计代码中,它将可以正常工作。 &lt;asp:Content ID="ContentMain" ContentPlaceHolderID="ContentPlaceHolderMaster" runat="server"&gt; &lt;% Response.Status = "404 Not Found"; Response.StatusCode = 404; %&gt; ... Much more code ... &lt;/asp:content&gt; 该页面正在使用母版页。我在web.config中配置自定义错误页面。我真的很想使用选项背后的代码,但是如果不在设计/布局中加入hack内联代码,我似乎无法使其工作。

4
从C#调用F#代码
我正在玩F#和C#,并想从C#调用F#代码。 通过在相同的解决方案中有两个项目,并将C#代码的引用添加到F#项目中,我设法使其在Visual Studio中能够以其他方式工作。完成此操作后,我可以调用C#代码,甚至在调试时逐步执行它。 我想做的是来自C#的F#代码,而不是来自F#的C#代码。我在C#项目中添加了对F#项目的引用,但是它不能像以前那样工作。我想知道如果不手动进行操作是否可行。
80 c#  interop  f# 

5
Parallel.ForEach与添加到列表
我正在尝试运行连接到远程站点(通过网络)并返回通用列表的多个功能。但是我想同时运行它们。 例如: public static List&lt;SearchResult&gt; Search(string title) { //Initialize a new temp list to hold all search results List&lt;SearchResult&gt; results = new List&lt;SearchResult&gt;(); //Loop all providers simultaneously Parallel.ForEach(Providers, currentProvider =&gt; { List&lt;SearchResult&gt; tmpResults = currentProvider.SearchTitle((title)); //Add results from current provider results.AddRange(tmpResults); }); //Return all combined results return results; } 正如我所看到的,可能同时发生多次插入“结果” …

15
拆分驼峰箱
这就是asp.net c#。 我有一个枚举 public enum ControlSelectionType { NotApplicable = 1, SingleSelectRadioButtons = 2, SingleSelectDropDownList = 3, MultiSelectCheckBox = 4, MultiSelectListBox = 5 } 这个的数值存储在我的数据库中。我在数据网格中显示此值。 &lt;asp:boundcolumn datafield="ControlSelectionTypeId" headertext="Control Type"&gt;&lt;/asp:boundcolumn&gt; 该ID对用户没有任何意义,因此我使用以下内容将boundcolumn更改为template列。 &lt;asp:TemplateColumn&gt; &lt;ItemTemplate&gt; &lt;%# Enum.Parse(typeof(ControlSelectionType), DataBinder.Eval(Container.DataItem, "ControlSelectionTypeId").ToString()).ToString()%&gt; &lt;/ItemTemplate&gt; &lt;/asp:TemplateColumn&gt; 这样做好多了...但是,如果有一个简单的函数可以放在Enum周围,按Camel大小写进行拆分,以使单词很好地包裹在datagrid中,那就太好了。 注意:我完全知道,有更好的方法可以执行所有这些操作。该屏幕仅在内部使用,我只想通过快速修改来更好地显示它。
80 c#  asp.net  string 

13
c#在保留宽高比的同时将图像调整为不同大小
我正在尝试调整图像的大小,同时保留原始图像的长宽比,以使新图像看起来不被挤压。 例如: 将150 * 100的图像转换为150 * 150的图像。 高度的额外50像素需要用白色背景色填充。 这是我正在使用的当前代码。 它可以很好地调整大小,但是更改原始图像的纵横比会挤压新图像。 private void resizeImage(string path, string originalFilename, int width, int height) { Image image = Image.FromFile(path + originalFilename); System.Drawing.Image thumbnail = new Bitmap(width, height); System.Drawing.Graphics graphic = System.Drawing.Graphics.FromImage(thumbnail); graphic.InterpolationMode = InterpolationMode.HighQualityBicubic; graphic.SmoothingMode = SmoothingMode.HighQuality; graphic.PixelOffsetMode = PixelOffsetMode.HighQuality; graphic.CompositingQuality = CompositingQuality.HighQuality; graphic.DrawImage(image, …

17
搜索字符串集合的最快方法
问题: 我有一个大约120,000个用户(字符串)的文本文件,我想将其存储在集合中,然后在该集合上执行搜索。 每当用户更改a的文本时,都会出现搜索方法,TextBox并且结果应为中包含文本的字符串TextBox。 我不必更改列表,只需拉出结果并将其放在即可ListBox。 到目前为止,我已经尝试过: 我尝试了两种不同的集合/容器,它们是从外部文本文件中转储字符串条目(当然是一次): List&lt;string&gt; allUsers; HashSet&lt;string&gt; allUsers; 使用以下LINQ查询: allUsers.Where(item =&gt; item.Contains(textBox_search.Text)).ToList(); 我的搜索事件(当用户更改搜索文本时触发): private void textBox_search_TextChanged(object sender, EventArgs e) { if (textBox_search.Text.Length &gt; 2) { listBox_choices.DataSource = allUsers.Where(item =&gt; item.Contains(textBox_search.Text)).ToList(); } else { listBox_choices.DataSource = null; } } 结果: 两者都给了我较差的响应时间(每次按键之间大约1-3秒)。 题: 您认为我的瓶颈在哪里?我使用过的收藏?搜索方法?都? 如何获得更好的性能和更流畅的功能?


11
实体框架在运行时更改连接
我有一个引用我的模型和DAL程序集的Web API项目。向用户显示一个登录屏幕,他可以在其中选择不同的数据库。 我建立连接字符串如下: public void Connect(Database database) { //Build an SQL connection string SqlConnectionStringBuilder sqlString = new SqlConnectionStringBuilder() { DataSource = database.Server, InitialCatalog = database.Catalog, UserID = database.Username, Password = database.Password, }; //Build an entity framework connection string EntityConnectionStringBuilder entityString = new EntityConnectionStringBuilder() { Provider = database.Provider, Metadata = Settings.Default.Metadata, …


2
如何在C#中使用system.net.webrequest获取json响应?
我需要从外部域获取json数据。我使用webrequest从网站获得响应。这是代码: var request = WebRequest.Create(url); string text; var response = (HttpWebResponse) request.GetResponse(); using (var sr = new StreamReader(response.GetResponseStream())) { text = sr.ReadToEnd(); } 有人知道为什么我无法获取json数据吗?
80 c#  .net  json  webrequest 

3
具有MVC 4或5的MEF-可插拔架构(2014)
我正在尝试使用Orchard CMS之类的可插入体系结构构建MVC4 / MVC5应用程序。因此,我有一个MVC应用程序,它将作为启动项目并负责auth,导航等。然后将有多个模块分别作为asp.net类库或精简的mvc项目构建,并具有控制器,视图,数据仓库等。 我整天都在浏览网上的教程并下载示例等,发现肯尼(Kenny)拥有最好的例子-http://kennytordeur.blogspot.in/2012/08/mef-in-aspnet-mvc-4-and -webapi.html 如果添加对这些DLL的引用,则能够从模块(单独的DLL)中导入控制器。但是使用MEF的原因是能够在运行时添加模块。我希望将DLL和视图一起复制到启动项目中的〜/ Modules //目录中(我已经设法做到了),而MEF只会将它们拾取。努力使MEF加载这些库。 还有这个答案中解释的MefContrib ASP.NET MVC 4.0控制器和MEF,如何将这两者结合在一起?这是我接下来要尝试的事情。但是令我惊讶的是,MEF无法与MVC一起使用。 有没有人有一个类似的架构工作(有或没有MefContrib)?最初,我什至想到剥离Orchard CMS并将其用作框架,但这太复杂了。在MVC5中开发应用程序以利用WebAPI2也是很好的。
80 c#  asp.net  .net  asp.net-mvc  mef 

15
C#:覆盖返回类型
有没有办法在C#中覆盖返回类型?如果是这样,怎么做,如果不是,为什么,推荐的做事方式是什么? 我的情况是我有一个带有抽象基类及其后代的接口。我想这样做(虽然不行,但是举个例子!): public interface Animal { Poo Excrement { get; } } public class AnimalBase { public virtual Poo Excrement { get { return new Poo(); } } } public class Dog { // No override, just return normal poo like normal animal } public class Cat { public override …

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.