小编Loc*_*ith的帖子

双重问号('??')与分配相同的var时的比较

参考以下SE答案.

写作时

A = A ?? B;
Run Code Online (Sandbox Code Playgroud)

它是一样的

if( null != A )
    A = A;
else
    A = B;
Run Code Online (Sandbox Code Playgroud)

这是否意味着

if( null == A ) A = B;
Run Code Online (Sandbox Code Playgroud)

性能明智吗?

或者我可以假设编译器在??表示相同对象时优化代码?

c# null-coalescing-operator compiler-optimization

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

LINQPad:无论如何要使Dump()结果最初崩溃?

无法在任何地方找到它(google或stackoverflow).

有没有办法强制Dump()的输出自动折叠?

更新:

更多信息,以提高对问题的关注.
如下所述,可以在输出后通过键盘shortcust(Alt + 1,Alt + 2,Alt + 3)进行折叠.可以通过传递intdepth参数来确定渲染深度,但这不允许扩展结果.

有没有办法改变CSS格式?我不是那么流利的CSS,所以这可能是解决方案.

为什么我需要这个:

我想要的是让输出"更清洁",并在感兴趣的东西出现时潜入.我反复运行查询,并不是一直需要所有输出,但仍然使用我的人工能力来检测变化,而不是编码检测.

更新:2013年11月

正如Joe(作者本人!)在评论中提到的那样,LINQPad不再具有描述的限制.现在可以声明0并在呈现后折叠信息.

linqpad collapse

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

DockPanelSuite 的 DockState 和 AutoHide

使用 DockState 和 AutoHide,我正在寻找以下内容:

  1. 查看 DockContent 是否处于自动隐藏模式
  2. 能够在“常规”和自动隐藏模式之间切换。
  3. 当自动隐藏停靠栏进入视图时触发事件。
  4. 当自动隐藏停靠点“离开”并且现在停靠回其选项卡时触发事件。

回答维基:

  1. IsAutoHide - 获取:

    private WeifenLuo.WinFormsUI.Docking.DockState[] AutoHideStates = new WeifenLuo.WinFormsUI.Docking.DockState[] {
        WeifenLuo.WinFormsUI.Docking.DockState.DockBottomAutoHide,
        WeifenLuo.WinFormsUI.Docking.DockState.DockLeftAutoHide,
        WeifenLuo.WinFormsUI.Docking.DockState.DockRightAutoHide,
        WeifenLuo.WinFormsUI.Docking.DockState.DockTopAutoHide };
    
    public bool IsAutoHide { get { return AutoHideStates.Contains(DockContent.DockState); } }
    
    Run Code Online (Sandbox Code Playgroud)
  2. IsAutoHide - 设置:还没有代码 - 基本上迭代模式或使用可互换模式的字典(即 DockBottomAutoHide 到 DockBottom)

  3. 我不知道,但这看起来很有趣,可能有这个想法。

  4. 我不知道。

c# dockpanel-suite winforms

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

如何在 PowerShell 中隐藏 Get-Help 中的参数(不仅仅是制表符完成)?

我四处搜寻,找不到“否”的直接答案,但也没有找到“是”的直接答案。

我已经知道的:

  • [Parameter(DontShow)]只影响制表符完成
  • 一个建议是使用通用参数并测试它是否存在$PSBoundParameters- 虽然技术上可行,但这会产生副作用,即没有我想要的名称。
  • 另一个建议是将其作为别名隐藏在另一个参数中,但这更适合弃用。

我遇到的情况是有一个参数不应被任何第 3 方使用,但由配套脚本使用

例子:

[CmdletBinding(SupportsShouldProcess)]param(
  [switch]$VisibleSwitch,
  [switch]$HiddenSwitch ### This switch should not be visible to human-beings.
)
#...
if( $HiddenSwitch) {
  #do something
  return
}
#...
Run Code Online (Sandbox Code Playgroud)

powershell powershell-core

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

以编程方式调用DockPanel-Suite的"AutoHidden"DockContent

我无法以编程方式显示"自动隐藏"基座.

在网上找不到任何答案,虽然以下SO问题表明.Show()应该已经完成​​了这个伎俩

我已经尝试了最新的NuGet版本的代码.

我的测试代码如下.

谁知道怎么做?或者我做错了什么?

更新:显然这是2.7.0中的一个错误,我已经为该项目打开了一个问题.@ roken的回答是一个很好的解决方法,所以我更新了下面的代码来反映它.


我的测试代码

创建一个简单的Visual Studio Windows窗体应用程序,并使用以下代码替换主窗体的源文件内容:

using System;
using System.Windows.Forms;
using dps = WeifenLuo.WinFormsUI.Docking;

namespace testDockPanel
{
    public partial class Form1 : Form
    {
        private dps.DockPanel dockPanel;
        private dps.DockContent dc;
        private Control innerCtrl;

        public Form1()
        {
            InitializeComponent();

            dockPanel = new dps.DockPanel();
            dockPanel.Dock = DockStyle.Fill;
            dockPanel.DocumentStyle = dps.DocumentStyle.DockingWindow;

            toolStripContainer1.ContentPanel.Controls.Add(dockPanel);

            dc = new dps.DockContent();
            dc.DockPanel = dockPanel;
            dc.DockState = dps.DockState.DockRightAutoHide;
            innerCtrl = new WebBrowser() { Dock = DockStyle.Fill …
Run Code Online (Sandbox Code Playgroud)

c# dockpanel-suite winforms

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