Python
VB.Net
C#

Pythonのall(list)が便利だったので、C#/VB.netに置き換えた

Pythonのall(list)が便利だったので、C#/VB.netに置き換えた

趣味で研究しているPythonの書き方が便利だったので、.Net系で実装出来ないか試行錯誤したのでメモを書きます。

IsAllTrueの実装

例: Pythonの実装

IsAllTrue.py
def IsAllTrue(boolList)
    return all(boolList) # 本来はこのまま呼び出し元に書ける

C#の場合

list.All(b => b)で実装出来る。(ちゃんと確認します)

IsAllTrue.cs
bool IsAllTrue(List<bool> boolList){
    return boolList.All(b => b)
}

VB.netの場合

list.All(Function(Boolean b) b)で実装出来る。

IsAllTrue.vb
Function Boolean IsAllTrue(List(Of Boolean) boolList)
    Return boolList.All(Function(Boolean b) b)
End Function

IsDictAllTrueの実装

基本的には、一旦valuesを取り出すことになります。

ただし、keysの取り出しが必要な場合、.Net系の方が強みを持ちます。

(取り出し方は要調査)

例: Pythonの実装

IsDictAllTrue.py
def IsDictAllTrue(boolDict)
    boolList = boolDict.values()
    return all(boolList) # 本来はこのまま呼び出し元に書ける

C#の場合

IsDictAllTrue.cs
bool IsDictAllTrue(List<string, bool> boolDict){
    var boolList = boolDict.Values
    return boolList.All(b => b)
}

VB.netの場合

IsDictAllTrue.vb
Function Boolean IsAllTrue(List(Of String, Boolean) boolDict)
    Dim boolList = boolDict.Values
    Return boolList.All(Function(Boolean b) b)
End Function