小编Dav*_*New的帖子

将位图像素转换为字节数组失败

我必须将位图的像素转换为短阵列.因此我想:

  • 得到字节
  • 将字节转换为short

这是获取字节的源码:

 public byte[] BitmapToByte(Bitmap source)
 {
     using (var memoryStream = new MemoryStream())
     {
         source.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Bmp);
         return memoryStream.ToArray();
     }
 }
Run Code Online (Sandbox Code Playgroud)

这不会返回预期的结果.还有另一种转换数据的方法吗?

c# bytearray converter bitmap

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

为什么我的正则表达式在ASP.NET中不起作用

我想用RegularExpressionValidator这个形式的日期yyyy-mm-dd(例如:2012-11-29),这是我的表达:

/ ^(19 [789]\d | 20 [0123]\d) - (0\d | 1 [012] |\d) - (31 | 30 | [012]\d |\d)$ /

我在http://www.quanetic.com/Regex上测试它可以工作但如果我在我的asp.net应用程序中这样做它不起作用

 <tr>
   <td>Gültig ab:</td>
   <td><asp:TextBox ID="txtVon" runat="server" ></asp:TextBox></td>  
   <td><asp:ImageButton ID="imgVon" runat="server" ImageUrl="images/Calender.ico" Width="15" Height="15" />
     <asp:CalendarExtender runat="server" ID="E_Von" TargetControlID="txtVon" Format="yyyy-MM-dd" PopupButtonID="imgVon"/></td>        
   <td>
     <asp:RequiredFieldValidator ID="ValVon" 
       runat="server" ForeColor="red" 
       ErrorMessage="*" ControlToValidate="txtVon"></asp:RequiredFieldValidator>
     <asp:RegularExpressionValidator ID="regVon"   
       runat="server" ControlToValidate="txtVon" 
       ErrorMessage="*Format" ForeColor="red" 
       ValidationExpression="/^(19[789]\d|20[0123]\d)\-(0\d|1[012]|\d)\-(31|30|[012]\d|\d)$/"></asp:RegularExpressionValidator>
   </td>
 </tr>
Run Code Online (Sandbox Code Playgroud)

错误在哪里?

javascript c# regex asp.net validation

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

并行生成UI

我们有一个WPF应用程序,它有一个带有缓存的VirtualizingStackPanel的ListBox.不是因为它有大量的元素(通常小于20,但在极端情况下可能高达100或更多),但因为元素需要时间来生成.这些元素实际上是UIElement对象.因此应用程序动态地需要生成UIElements.

问题在于,即使虚拟化似乎有效,但应用程序仍然很难做出响应,这是一个概念验证解决方案,具有最小的"噪音".

所以我们认为,由于主要问题是我们动态生成复杂的UIElement对象,我们需要并行执行,即离线.但是我们得到一个代码需要在STA线程上运行的错误:

调用线程必须是STA,因为许多UI组件都需要这个.

这是否意味着我们无法在WPF主UI线程以外的线程上生成UI(UIElement对象)?

以下是我们的概念验证解决方案中的相关代码片段:

public class Person : ObservableBase
{
    // ...

    UIElement _UI;
    public UIElement UI
    {
        get
        {
            if (_UI == null)
            {
                ParallelGenerateUI();
            }
            return _UI;
        }
    }

    private void ParallelGenerateUI()
    {
        var scheduler = TaskScheduler.FromCurrentSynchronizationContext();

        Task.Factory.StartNew(() => GenerateUI())
        .ContinueWith(t =>
        {
            _UI = t.Result;
            RaisePropertyChanged("UI");
        }, scheduler);
    }

    private UIElement GenerateUI()
    {
        var tb = new TextBlock();
        tb.Width = 800.0;
        tb.TextWrapping = TextWrapping.Wrap;
        var n = rnd.Next(10, 5000);
        for (int i = 0; i …
Run Code Online (Sandbox Code Playgroud)

c# parallel-processing wpf xaml task-parallel-library

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

将匿名方法传递给ProgressBar.Invoke()

我试图使用匿名方法将委托传递到progressBar.Invoke(Delegate):

progressBar.Invoke(() => progressBar.Value = count);
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

无法将lambda表达式转换为类型'System.Delegate',因为它不是委托类型.

有人可以解释一下我做错了什么吗?

.net c# multithreading invoke winforms

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

AssemblyVersion和AssemblyFileVersion在一个单独的文件中

我们有我们AssemblyVersionAssemblyFileVersion在一个单独的属性文件属性.这是因为它们在所有项目之间"链接",并由构建服务器更新.我们不希望在每次构建或发布后手动更新版本.

AssemblyInfo.cs:

[assembly: AssemblyTitle("MyProductTitle")]
[assembly: AssemblyCulture("")]
[assembly: Guid("579eb194-08f1-44fc-9422-21aaf6cb2963")]
Run Code Online (Sandbox Code Playgroud)

AssemblyVersionInfo.cs:

[assembly: AssemblyFileVersion("0.0.14056.19")]
[assembly: AssemblyVersion("0.0.0.0")]
Run Code Online (Sandbox Code Playgroud)

问题是我们的构建服务器抱怨每个项目的以下警告:

CA1016 : Microsoft.Design : Add an AssemblyVersion attribute to 'MyProduct.dll'.
Run Code Online (Sandbox Code Playgroud)

在本地构建项目时,bin中的实际DLL文件应用了所有版本号(文件属性对话框):

文件属性

在Visual Studio中查看项目属性时,在程序集信息中未检测到版本信息:

VS项目属性

我的猜测是,这是由于AssemblyVersionAssemblyFileVersion不是居住在AssemblyInfo.cs.

有没有办法"包含"自定义AssemblyVersionInfo.cs文件?

.net c# msbuild tfs assemblyinfo

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

Azure SDK 2.7独立安装程序

Azure SDK 2.7下载超过300MB.我们有一大群开发人员需要进行更新.

是否没有可用的独立安装程序?

azure azure-sdk-.net

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

依赖性不支持框架.NETFramework,Version = v4.6

我试图使用.NET 4.6 CLR启动并运行MVC 6 Web应用程序,但是我收到以下类型的错误:

The dependency Microsoft.AspNet.Loader.IIS 1.0.0-beta5 in project TestDeployProject does not support framework .NETFramework,Version=v4.6.
Run Code Online (Sandbox Code Playgroud)

project.json:

{
  "dependencies": {
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
    "Microsoft.AspNet.Diagnostics": "1.0.0-beta5",
    "Microsoft.Framework.DependencyInjection.Abstractions": "1.0.0-beta5",
    "Microsoft.AspNet.Mvc": "6.0.0-beta5"
  },
  "frameworks": {
    "net46": { }
  },
}
Run Code Online (Sandbox Code Playgroud)

参考问题.NET Framework 4.6

根据这篇博文,.NET 4.6目标框架可以与ASP.NET 5一起使用.

我究竟做错了什么?

nuget visual-studio-2015 .net-4.6 project.json asp.net-core

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

自定义404响应模型

我想为我们的API上的所有404提供自定义响应.例如:

{
  "message": "The requested resource does not exist. Please visit our documentation.."
}
Run Code Online (Sandbox Code Playgroud)

我相信以下结果过滤器适用于MVC管道中的所有情况:

public class NotFoundResultFilter : ResultFilterAttribute
{
    public override void OnResultExecuting(ResultExecutingContext context)
    {
        var result = context.Result as NotFoundResult;

        if (result != null)
        {
            context.Result = new HttpNotFoundResult(); // My custom 404 result object
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当请求的URL与操作路由不匹配时,不会触发上面的过滤器.我怎样才能最好地拦截这404条回复? 这需要中间件吗?

asp.net-core-mvc asp.net-core asp.net-core-1.0

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

在C#字符串中查找引用的所有实例

我正在尝试使用正则表达式在C#字符串中查找并替换双引号的所有实例,但似乎无法理解答案,这是我到目前为止所拥有的:

private string checkEscapeChars(string s)
{
    s = Regex.Replace(s, @"[""]", String.Empty);
    return s;
}
Run Code Online (Sandbox Code Playgroud)

现在,运行正常,但我可以说我有一个字符串"这是我的"样本字符串"

我想摆脱"之前的样本.上面的工作会不会这样?或者它会找到并替换匹配双引号的所有实例,而不是单个双引号?

c# regex

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

无法从另一个类JAVA调用方法

我正在制作一个猜测程序.生成随机数,用户尝试猜测它.程序将打印"太高"或"太低",让用户再次猜测.我在第一个猜测输入猜测的方法后输入猜测有问题.

这是我的班级:

import java.util.Scanner;

public class Lab8
{
    public static void main (String [] args)
    {
        Scanner in = new Scanner(System.in);

        System.out.println("Enter a number: ");
        MyNumberGuess MyNumberGuess = new MyNumberGuess(in.nextInt());

        while (MyNumberGuess.tooLow() == true || MyNumberGuess.tooHigh() == true)
        {

            if (MyNumberGuess.tooHigh() == true)
            {
                System.out.println("Too high");
                System.out.println("Enter a number: ");
                MyNumberGuess.MyNumberGuess(in.nextInt());
            }
            else if (MyNumberGuess.tooLow() == true)
            {
                System.out.println("Too low");
                System.out.println("Enter a number: ");
                MyNumberGuess.MyNumberGuess(in.nextInt());
            }
        }

        System.out.println("Correct");
        System.out.println("You made " + MyNumberGuess.getNumGuesses() + " guesses");
    }
}
Run Code Online (Sandbox Code Playgroud)

这是另一个类,以及问题方法:

import …
Run Code Online (Sandbox Code Playgroud)

java methods class

0
推荐指数
1
解决办法
2万
查看次数

List &lt;int&gt;可从IEnumerable分配吗?

在下面的示例中,如果something类型为,我想抛出一个异常IEnumerable

var something = new List<int>();

if (something.GetType().IsAssignableFrom(typeof(IEnumerable)))
{
    throw new ArgumentOutOfRangeException("Cannot create a key from type IEnumerable");
}
Run Code Online (Sandbox Code Playgroud)

据我了解,IsAssignableFrom在上述情况下应该返回true,因为List<int>肯定是一个IEnumerable

.net c# types

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