小编Goh*_*anP的帖子

迭代类对象列表 - 'pythonic'方式

我有一个test_cases包含类对象的列表.每个对象都有一个名为的属性ident.我想迭代列表中的所有对象,并在值下执行某些操作ident

这是我的代码:

class TestCase:
    def __init__(self, title, ident, description):
        self.title = title
        self.ident = ident
        self.description = description

test_cases = []
test_cases.append(TestCase(**tc_dict)

i = 0
while i != len(test_cases):
    print test_cases[i].ident
    i += 1
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我想问,如果有更多'pythonic'的方式来做到这一点.

python python-2.7

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

属性在一台机器上工作正常但它在另一台机器上出错

我已经得到了这样写的属性代码:

public bool Expanded { get => expanded; set => expanded = value; }
Run Code Online (Sandbox Code Playgroud)

在一台机器上它工作正常但在另一台机器上它全部红色突出显示('并非所有代码路径都返回一个值')

当我像这样重写它时它工作正常:

public bool Expanded
{
    get { return expanded; }
    set { expanded = value; }
}
Run Code Online (Sandbox Code Playgroud)

但我不想重写它.

在两台机器上,我使用.NET Framework 4.7.1

你有什么想法可能有什么不对吗?

c# properties c#-6.0

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

键事件'AltGr + S'被视为'Ctrl + alt + s'

我有使用键盘快捷键的脚本,如下所示:

private void MainView_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Control && e.KeyCode == Keys.S)
    {
      backstageViewButtonItem_Save_ItemClick(null, null);
    }
    if (e.Control && e.Alt && e.KeyCode == Keys.S)
    {
      backstageViewButtonItem_SaveAs_ItemClick(null, null);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:当我按AltRs+ s然后触发我的保存功能.它看起来像AltRs被视为ctrl+ alt.

有没有可能认识到它只是alt按下而不是ctrl+ alt,所以这个功能不会被触发?

c#

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

标签 统计

c# ×2

c#-6.0 ×1

properties ×1

python ×1

python-2.7 ×1