小编Rob*_*Rob的帖子

C#等待多个线程完成

我有一个Windows窗体应用程序,我正在检查所有串行端口,以查看是否已连接特定设备.

这就是我脱掉每个线程的方式.下面的代码已经从主要的gui线程中分离出来.

foreach (cpsComms.cpsSerial ser in availPorts)
{
    Thread t = new Thread(new ParameterizedThreadStart(lookForValidDev));
    t.Start((object)ser);//start thread and pass it the port
}
Run Code Online (Sandbox Code Playgroud)

我希望下一行代码等到所有线程都完成.我尝试过t.join在那里使用a ,但这只是线性处理它们.

c# multithreading

36
推荐指数
3
解决办法
4万
查看次数

Windows Workflow Foundation 4.0教程/简介

几乎所有Windows Workflow Foundation的教程/介绍似乎都针对4.0之前的版本,或者有些过于简单,并没有真正向我展示工作流程的真正优势.

有人能指点我一些稍微有点内容的教程(显然我的google-fu让我失望了),因为Workflow是我在VS中看过模板的东西之一,但从来没有时间或者没有时间一直玩到现在.

注意:请不要视频教程/介绍/指南.我发现他们无法学习.

.net-4.0 workflow-foundation-4

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

为接口使用"I"前缀或不使用

就是那个问题?那么在开发ac#项目时不使用这个约定有多大的罪过?此约定广泛用于.NET类库中.但是,至少我不是一个粉丝,不仅仅是出于理由,而且我认为它没有任何贡献.例如IPSec是PSec的接口吗?是IIOPConnection IOPConnection的接口,我通常去定义找出来.

  • 所以不会使用这种惯例导致混淆?
  • 有没有删除此约定的c#项目或库?
  • 做任何混合约定的c#项目,不幸的是Apache Wicket呢?

Java类库已经存在多年没有这个了,我觉得如果没有它我就一直在努力阅读代码.此外,界面应该不是最原始的描述?我的意思是IList <T>作为c#中List <T>的接口,是不是更好的有List <T>和LinkedList <T>或ArrayList <T>甚至CopyOnWriteArrayList <T>?这些类描述了实现?我想我在这里得到的信息比我在c#中的List <T>中得到的更多.

c# java

31
推荐指数
6
解决办法
6503
查看次数

获得Request.Headers值

非常简单我敢肯定,但是让我爬上墙!我在我的Web应用程序中使用了一个组件,通过添加标题"XYZComponent = true"在Web请求中标识自己 - 我遇到的问题是,您如何在视图中检查此问题?

以下不会起作用:

if (Request.Headers["XYZComponent"].Count() > 0)
Run Code Online (Sandbox Code Playgroud)

这不是:

if (Request.Headers.AllKeys.Where(k => k == "XYZComponent").Count() > 0)
Run Code Online (Sandbox Code Playgroud)

如果尚未设置标头变量,则两者都抛出异常.非常感激任何的帮助.

c# asp.net-mvc httpwebrequest namevaluecollection http-headers

29
推荐指数
3
解决办法
13万
查看次数

将WPF DataGridComboBoxColumn与MVVM绑定

我已经查看了各种 问题的答案,但没有设法在我试图解决的问题的答案中映射内容.我把它简化为下面的代码(代表我想要实现的结果),并且基本上希望能够在没有编辑行的情况下渲染Person.TitleId其对应Title.TitleText的并且具有下拉列表正确绑定,以便TitleText在下拉列表中显示s,并在更改时将关联的TitleId背面写回Person记录.

简而言之,我<DataGridComboBoxColumn>在实现这一目标时会采取什么措施?

App.xaml.cs

protected override void OnStartup(StartupEventArgs e)
{
    base.OnStartup(e);

    var viewModel = new ViewModels.MainWindowViewModel();
    var mainWindow = new MainWindow();
    mainWindow.DataContext = viewModel;
    mainWindow.ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)

MainWindow.xaml

<Grid>
    <DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Path=Contacts}">
        <DataGrid.Columns>
            <DataGridComboBoxColumn Header="Title" SelectedItemBinding="{Binding Person}">
                <DataGridComboBoxColumn.ElementStyle>
                    <Style TargetType="ComboBox">
                        <Setter Property="ItemsSource" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=DataContext.Titles}"/>
                        <Setter Property="IsReadOnly" Value="True"/>
                    </Style>
                </DataGridComboBoxColumn.ElementStyle>
                <DataGridComboBoxColumn.EditingElementStyle>
                    <Style TargetType="ComboBox">
                        <Setter Property="ItemsSource" Value="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=DataContext.Titles}"/>
                        <Setter Property="DisplayMemberPath" …
Run Code Online (Sandbox Code Playgroud)

wpf datagrid mvvm datagridcomboboxcolumn

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

如何设置父进程的工作目录?

正如标题所揭示的那样,我们正在编写一个Unix风格的shell实用程序U,应该从bash调用(在大多数情况下).

究竟是如何能ü改变的bash(一般或父母)的工作目录?

PS shell实用程序chdir成功完成相同的操作,因此必须有一种实现该效果的编程方式.

linux gcc process parent working-directory

23
推荐指数
4
解决办法
9410
查看次数

用户ASP.NET运行于

我对ASP.NET如何运行它的用户有点困惑?在iis 7.5和6.0上

我不清楚的一些用户帐户是

  • 网络服务
  • IUSR
  • 应用程序池

任何关于不同用户的澄清都将受到赞赏和安全考虑/等.

asp.net iis iis-7 iis-6

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

我应该用什么来比较DBNull?使用DBNull.Value或ToString().IsNullOrEmpty()

我可以DBnull使用任何方法检查数据行.

通过使用

if(dr[0][0]==DBNull.Value)
//do somethin
Run Code Online (Sandbox Code Playgroud)

或通过做

if(dr[0][0].ToString().IsNullOrEmpty())
//do something
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,我都会得到相同的结果.

但是哪一个是直接正确的方法.哪个将使用更少的资源

.net null dbnull dataset

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

使用已知的Start&Endindex剪切字符串

当我有一个字符串,我想切割成从某个索引到某个索引的新字符串,我使用哪个函数?

如果字符串是:

ABCDEFG

这意味着当指定的两个索引为13时检索BCD.

c# string

21
推荐指数
2
解决办法
4万
查看次数

当逻辑基本相同时,复制和粘贴单元测试是否可以?

我目前有10个测试,只要路径或墙上有一块,我的俄罗斯方块片就不会向左移动.现在,我将不得不为正确的运动测试相同的行为.

如果我只是复制我已经拥有的左移动的10个测试并且只进行所需的更改并对代码本身也做同样的事情,这太糟糕了吗?或者,如果逻辑基本相同,我应该从头开始再进行每次测试吗?

c# java tdd unit-testing

20
推荐指数
4
解决办法
2465
查看次数