Já que estamos falando de literals, o Visual Basic tem algo muito legal que o C# não tem: Date Literals. Olha como eu escrevo uma data no VB:
<TestMethod()> Public Sub ConsigoCriar13DeOutubro() 'act Dim data = #10/13/2010# 'assert Assert.AreEqual(New Date(2010, 10, 13), data) End Sub
Horas também funcionam:
<TestMethod()> Public Sub ConsigoCriar10E15() 'act Dim data = #10:15:00 AM# 'assert Assert.AreEqual(Date.MinValue.AddHours(10).AddMinutes(15), data) End Sub
Com ou sem AM e PM. Aqui está no formato de 24 horas:
<TestMethod()> Public Sub ConsigoCriar13E15() 'act Dim data = #13:15:00# 'assert Assert.AreEqual(Date.MinValue.AddHours(13).AddMinutes(15), data) End Sub
E dá pra juntar os dois:
<TestMethod()> Public Sub ConsigoCriar13DeOutubro10E15() 'act Dim data = #10/13/2010 10:15:00 AM# 'assert Assert.AreEqual(New Date(2010, 10, 13).AddHours(10).AddMinutes(15), data) End Sub
Prático, né? A outra forma aparece no Assert, não fica nem um pouco elegante. Sinto falta disso no C#, principalmente por causa dos testes.
É por isso que eu adoro o VB.
Giovanni Bassi
Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.