dotnet / dotnet/vblang

[Proposal] Pattern matching using Select TypeOf

Open
#541 34 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
328
Forks
71
PR merge metrics
No merged PRs in 30d

Description

I suggest this syntax for pattern matching in select statements:
```
Select TypeOf t
Type x As String
Console.WriteLine(x.Length)
Type y As Integer
Console.WriteLine(y + 1)
Type Else
Console.WriteLine(t.ToString())
End Select
```

Edit:

Which can be lowered to:
```
Select Case t.GetType
Case GetType(String)
Dim x = CStr(t)
Console.WriteLine(x.Length)
Case GetType(Integer)
Dim y = CInt(t)
Console.WriteLine(y+ 1)
Case Else
Console.WriteLine(t.ToString())
End Select
```

Based on #542 , I suggest this:
```
Select CType(t)
Case x As String
Console.WriteLine(x.Length)
Case y As Integer
Console.WriteLine(y + 1)
Case Else
Console.WriteLine(t.ToString())
End Select
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.