小编Hen*_*man的帖子

在Paint事件处理程序中处理图形元素

我正在使用C#,.net 3.5和Visual Studio 2008.

在阅读了一些关于何时必须处理元素的内容后,我有点困惑.以下Paint事件处理程序是否可以,或者它是内存泄漏?

private void ProgressBar_Paint(object sender, PaintEventArgs e) {
        Graphics graphics = e.Graphics;
        string rightText = "rightext";
        string leftText = "lefttext";;
        string textToDraw = rightText + leftText;
        graphics.DrawString(textToDraw, progressBar.Font, 
             new SolidBrush(progressBar.ForeColor), 10, 30);                         
    }
Run Code Online (Sandbox Code Playgroud)

这会好吗?

private void ProgressBar_Paint(object sender, PaintEventArgs e) {
        Graphics graphics = e.Graphics;
        string rightText = "rightext";
        string leftText = "lefttext";;
        string textToDraw = rightText + leftText;
        using (SolidBrush solidBrush = new SolidBrush(progressBar.ForeColor)) {
            graphics.DrawString(textToDraw, progressBar.Font, solidBrush, 18, 20);
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# gdi+ dispose winforms

1
推荐指数
1
解决办法
175
查看次数

Azure云服务

我们正在使用azure云服务来发布我们的应用程序.对于重大更改,我们将通过创建和上传包进行发布,但是对于较小的更改,我们通过使用远程计算机将相应的dll移动到实例.

我们将dll移动到站点根目录下的文件夹中.

我们的问题是,两天前我们注意到通过增量(即通过复制dll)所做的更改已经丢失,我们保存在桌面上的文件夹也丢失了.

azure azure-cloud-services

1
推荐指数
1
解决办法
65
查看次数

从工作线程更新ViewModel会引发跨线程问题

最近,我一直在进行类型绑定的测试,该绑定实现INotifyPropertyChanged了工作线程抛出跨线程问题并更新了属性。

这是示例代码:

public class MyViewModel : INotifyPropertyChanged
    {
        private string _name;

        public string Name
        {
            get { return _name; }
            set
            {
                if (_name != value)
                {
                    _name = value;
                    OnPropertyChanged("Name");
                }
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        protected virtual void OnPropertyChanged(string propertyName)
        {

            PropertyChangedEventHandler hanlder = PropertyChanged;
           if(hanlder != null)
                hanlder(this, new PropertyChangedEventArgs(propertyName));

        }
    }
Run Code Online (Sandbox Code Playgroud)

上面的viewmodel已与Windows窗体中的标签文本绑定,并从工作线程更新标签值。

从辅助线程更新label1文本会导致跨线程问题:

public partial class MainForm : Form
{
    private MyViewModel _myViewModel = new MyViewModel();
    public MainForm()
    {
        InitializeComponent();
        Btn1.Click += Btn1_Click; …
Run Code Online (Sandbox Code Playgroud)

c# task worker-thread winforms c#-4.0

1
推荐指数
1
解决办法
820
查看次数

检查两个双打是否有相同符号的快速方法?

有没有快速检查两个双打是否有相同符号的方法?假设两个双打不能为0.

c# algorithm performance

1
推荐指数
1
解决办法
147
查看次数

嵌套循环的大 O 表示法

我正在尝试找到此代码的时间复杂度。

for (int i = 0; i <= n - 1; i++)
  for (int j = i + 1; j <= n - 1; j++)
    for (int k = j + 1; k <= n - 1; k++)
Run Code Online (Sandbox Code Playgroud)

我的尝试:我们可以将这个循环写成以下形式:

for (int i = 1; i <= n; i++)
  for (int j = 1; j <= n; j++)
    for (int k = 1; k <= n; k++)
Run Code Online (Sandbox Code Playgroud)

现在这个循环的大哦是 O(n^5)。我是正确的还是做错了什么?

algorithm complexity-theory big-o

1
推荐指数
1
解决办法
4043
查看次数

执行多个策略

如何执行多个策略(或将它们合并为一个策略)?

例如我有:

var policy1 = Policy.Handle< DivideByZeroException >().WaitAndRetry(5));

var policy2 = Policy.Handle< StackOverflowException >().RetryForever();
Run Code Online (Sandbox Code Playgroud)

如何同时将它们应用于一种方法?

.net polly

1
推荐指数
1
解决办法
903
查看次数

.NET核心找不到XmlDocument

我试图在.NET Core中重新创建代码,我得到的错误和亮点无助于解决问题.

这是代码:

using System;
using System.IO;
using System.Xml;

public class Sample
{
    public static void Main()
    {
         string content = File.ReadAllText("input.xml");
         XmlDocument doc = new XmlDocument();
         doc.LoadXml(content.Trim());
         XmlWriter writer = XmlWriter.Create("output.xml");
         doc.Save(writer);
    }

}
Run Code Online (Sandbox Code Playgroud)

我尝试将Referece"System.Xml"添加到依赖项中,但它会生成新的错误.

.NET Core中的错误,不是在.NET 4.0中

.net c# xml

1
推荐指数
1
解决办法
5591
查看次数

C#等待使用

我试图使用HtmlAgilityPack.NETCore获取网页将网页加载到程序中。问题在于调试直接从第一个Using语句跳出,因此根本不调用代码和第二个using。没有异常或其他东西被抛出。程序以退出代码0结尾。我在做什么错?我正在使用.net Core 2.2

HttpClient client = new HttpClient();
List<string> htmlContent = new List<string>();
using (var response = await client.GetAsync(URL))
{
    using (var content = response.Content)
    {
        var result = await content.ReadAsStringAsync();
        var document = new HtmlDocument();
        document.LoadHtml(result);
        foreach (HtmlNode node in document.DocumentNode.SelectNodes("//text()"))
        {
            htmlContent.Add(node.InnerText);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# .net-core

1
推荐指数
1
解决办法
196
查看次数

在 Blazor Wasm 中读取本地/静态文件

我的项目是在Blazor WASM 中创建的(我不想使用 Blazor 服务器)

我想从 wwwroot 读取 XSD 文件:

在此处输入图片说明

在我的 XsdService.cs - C# 类中,我正在尝试:

string pathToXsd = Path.Combine("plcda","extPL_r2.xsd");
string transformataHTML = System.IO.File.ReadAllText(pathToXsd);
Run Code Online (Sandbox Code Playgroud)

但是,我总是收到错误:

Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: Could not find a part of the path "/plcda/extPL_r2.xsd".
System.IO.DirectoryNotFoundException: Could not find a part of the path "/plcda/extPL_r2.xsd".
Run Code Online (Sandbox Code Playgroud)

那么是否有机会将自定义/静态/本地文件包含到 Blazor WASM 中?即使应用程序离线也能阅读它们?

c# progressive-web-apps blazor blazor-client-side blazor-webassembly

1
推荐指数
1
解决办法
3503
查看次数

HttpClient 出现问题 - blazor 中的 PostAsJsonAsync

我正在尝试以PostAsJsonAsyncPostJsonAsync更新之前相同的方式使用它,但我收到此错误:

CS1503 参数 3:无法从“ICCR.Shared.LoginModel”转换为“ICCR.Shared.LoginResult” ICCR.Client

代码中的 registerModel 标记为红色,如果您告诉我如何解决,我将不胜感激。

public async Task<RegisterResult> Register(RegisterModel registerModel)
    {
    
        var result = await _httpClient.PostAsJsonAsync<RegisterResult>("api/accounts", registerModel);
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

blazor asp.net-core-3.1 blazor-webassembly

1
推荐指数
1
解决办法
1869
查看次数