小编Vla*_*lad的帖子

Visual Studio 2008 SP1 - 如何在IE以外的其他浏览器中停止调试?

Visual Studio在IE中集成了调试功能,当你关闭IE时,它会停止调试,如果你停止调试,VS会关闭IE.

我想用firefox/chrome做同样的事情!(主要是这2,如果有可能和其他人一起,我们将不胜感激!)

有没有办法做到这一点?

提前致谢!

browser asp.net debugging visual-studio-2008

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

解析没有字符串拆分

这是其他问题讨论的衍生产品.

假设我必须解析大量非常长的字符串.每个字符串包含一个double由空格分隔的s 序列(当然是文本表示).我需要将doubles 解析成一个List<double>.

标准的解析技术(使用string.Split+ double.TryParse)似乎很慢:对于每个我们需要分配字符串的数字.

我试图使它成为旧C类的方式:计算包含数字的子串的开始和结束的索引,并在"就地"解析它,而不创建额外的字符串.(见http://ideone.com/Op6h0,下面显示了相关部分.)

int startIdx, endIdx = 0;
while(true)
{
    startIdx = endIdx;
    // no find_first_not_of in C#
    while (startIdx < s.Length && s[startIdx] == ' ') startIdx++;
    if (startIdx == s.Length) break;
    endIdx = s.IndexOf(' ', startIdx);
    if (endIdx == -1) endIdx = s.Length;
    // how to extract a double here?
}
Run Code Online (Sandbox Code Playgroud)

有一个重载string.IndexOf,只在给定的子字符串中搜索,但是我找不到从子字符串解析double的方法,而没有先实际提取该子字符串.

有没有人有想法?

c# parsing

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

在AsyncDispose中处理异常的正确方法

在切换到新的.NET Core 3的过程中IAsynsDisposable,我偶然发现了以下问题。

问题的核心:如果DisposeAsync引发异常,则此异常隐藏await using-block 内部引发的所有异常。

class Program 
{
    static async Task Main()
    {
        try
        {
            await using (var d = new D())
            {
                throw new ArgumentException("I'm inside using");
            }
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message); // prints I'm inside dispose
        }
    }
}

class D : IAsyncDisposable
{
    public async ValueTask DisposeAsync()
    {
        await Task.Delay(1);
        throw new Exception("I'm inside dispose");
    }
}
Run Code Online (Sandbox Code Playgroud)

被捕获的是AsyncDispose-exception(如果引发了),而内部异常await using只有在AsyncDispose未引发的情况下才被捕获。

但是,我还是更喜欢它:await using …

c# async-await iasyncdisposable

6
推荐指数
2
解决办法
112
查看次数

SnapsToDevicePixels 不适用于图像?

我在 WPF 中遇到了位图图像的问题。当图像容器从非整数的位置开始时,图像似乎不尊重 的值SnapsToDevicePixels

示例代码:

<Window x:Class="BlurryImage.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Height="110" Width="200">
    <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
        <Button SnapsToDevicePixels="True">
            <Image SnapsToDevicePixels="True" Source="i16.png" Stretch="None"/>
        </Button>
        <Button SnapsToDevicePixels="True" Margin="10.333333,0,0,0">
            <Image SnapsToDevicePixels="True" Source="i16.png" Stretch="None"/>
        </Button>
    </StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

(注意左边距的值:10.333333。)

这里的图像i16.png是一个简单的 16x16 位图,分辨率为 96 DPI,带有细垂直线:图像在这里. (我的系统分辨率是 96 DPI、Windows XP、.NET 4)

当我运行程序时,第一个图像清晰,而第二个图像模糊: 模糊图像截图

不同的来源,包括 stackoverflow 上的一些,建议了不同的解决方法。(例如,这些帖子:[1][2][3]。)我尝试了解决方法,它们似乎有效。使用UseLayoutRounding="true"主窗口上,使两个图像锐利。RenderOptions.BitmapScalingMode="NearestNeighbor"在图像上使用也使其清晰。

问题是,为什么SnapsToDevicePixels="True"没有变通办法就行不通?这是 WPF 中的错误还是我以错误的方式使用它?

c# wpf bitmap

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

焦点所有者临时更改为null

我对Swing开发很新,希望我的问题不是一个愚蠢的问题.

我有一个以下问题.我正在跟踪焦点KeyboardFocusManager,听取属性permanentFocusOwner变化.但是,当焦点从一个控件变为另一个控件时,我会将permanentFocusOwner属性的中间更改为null.

当焦点位于其中一个面板或其子面板内时,我当前的UI逻辑正在对控件进行一些更改.然而,获得中间null打破这个逻辑.

我在谷歌搜索有关此问题的信息,没有发现任何相关信息.

问题是,这种行为是否是设计的,以及是否有某种方法可以解决中间空值.

这是再现上述行为的最小应用程序:

import java.awt.*;
import java.beans.*;
import javax.swing.*;

public class FocusNullTest extends JFrame {

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                FocusNullTest self = new FocusNullTest();
                self.setVisible(true);
            }
        });
    }

    public FocusNullTest() {
        setSize(150, 100);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Container contentPane = getContentPane(); 
        contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.X_AXIS));

        contentPane.add(new JButton("1"));
        contentPane.add(new JButton("2"));

        KeyboardFocusManager focusManager =
            KeyboardFocusManager.getCurrentKeyboardFocusManager();
        focusManager.addPropertyChangeListener(
                "permanentFocusOwner",
                new PropertyChangeListener() {
                    @Override
                    public void propertyChange(PropertyChangeEvent …
Run Code Online (Sandbox Code Playgroud)

java swing focus

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

C#:我可以或如何为方法参数指定属性吗?

C#文档说您可以为参数分配自定义属性.确切的句子是:"目标元素可以是程序集,类,构造函数,委托,枚举,事件,字段,接口,方法,可移植可执行文件模块,参数,属性,返回值,结构或其他属性." 鉴于此,做这样的事情的正确语法是什么:

private void SomeMethod
([CustomAttribute(Blah = "blah1")] string actualParam,
 [CustomAttribute(Blah = "blah2")] DateTime anotherParam
)

{
// method's body
}
Run Code Online (Sandbox Code Playgroud)

或者我完全错过了什么?

c#

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

在Xaml中将TreeView与ContextMenu绑定

我对Xaml很新,需要一些建议.

TreeView应绑定到分层对象结构.TreeView应该有一个上下文菜单,该菜单特定于每个对象类型.

我尝试过以下方法:

<TreeView>
  <TreeView.Resources>
    <DataTemplate x:Key="RoomTemplate">
      <TreeViewItem Header="{Binding Name}">
        <TreeViewItem.ContextMenu>
          <ContextMenu>
            <MenuItem Header="Open" />
            <MenuItem Header="Remove" />
          </ContextMenu>
        </TreeViewItem.ContextMenu>
      </TreeViewItem>
    </DataTemplate>
  </TreeView.Resources>

  <TreeViewItem Header="{Binding Name}" Name="tviRoot" IsExpanded="True" >

  <TreeViewItem Header="Rooms"  
                ItemsSource="{Binding Rooms}"
                ItemTemplate="{StaticResource RoomTemplate}">
    <TreeViewItem.ContextMenu>
      <ContextMenu>
        <MenuItem Header="Add room"></MenuItem>
      </ContextMenu>
    </TreeViewItem.ContextMenu>
  </TreeViewItem>
</TreeViewItem>
Run Code Online (Sandbox Code Playgroud)

但是使用此标记时,行为符合预期,但子项(房间)缩进太多.

无论如何,我能找到的所有结果样本都在DataTemplate中使用TextBlock而不是TreeViewItem,但是想知道如何在那里集成ContextMenu.

wpf treeview xaml binding contextmenu

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

划分到最近的1位小数,没有浮点数学?

我的C#程序存在一些速度问题,并确定此百分比计算导致速度减慢.计算只是n/d*100.分子和分母都可以是任何整数.分子永远不会大于分母,永远不会是负数.因此,结果总是从0到100.现在,这是通过简单地使用浮点数学来完成的,并且有点慢,因为它被计算了数千万次.我真的不需要比精确到0.1%更精确的东西.并且,我只是使用这个计算值来查看它是否大于固定的常数值.我认为一切都应该保持为整数,因此0.1精度的范围将是0-1000.有没有办法在没有浮点数学的情况下计算这个百分比?

这是我用于计算的循环:

for (int i = 0; i < simulationList.Count; i++)
{
    for (int j = i + 1; j < simulationList.Count; j++)
    {
        int matches = GetMatchCount(simulationList[i], simulationList[j]);
        if ((float)matches / (float)simulationList[j].Catchments.Count > thresPercent)
        {
            simulationList[j].IsOverThreshold = true;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# floating-point integer division

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

从迭代器对c ++创建stl向量

我试图从迭代器对创建一个stl向量,我不知道向量可能有多少元素.它可能只有一个元素.

#include <iostream>
#include <vector>

int main()
{
    using namespace std;

    vector<int> vect;
    for (int nCount=0; nCount < 6; nCount++)
        vect.push_back(nCount);

    vector<int> second(vect.begin(), vect.begin() );

    vector<int>::iterator it; // declare an read-only iterator
    it = second.begin(); // assign it to the start of the vector

    while (it != second.end()) // while it hasn't reach the end
    {
        cout << *it << " "; // print the value of the element it points to
        it++; // and iterate to the next element …
Run Code Online (Sandbox Code Playgroud)

c++ stl stdvector

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