DUVIDA COM ERRO ESTRANHO EM SPLIT

NILSONTRES 04/05/2017 10:21:30
#473717
Sempre utilizei isso em meus projetos:
SAT_NAG.EnviadoVenda = e.Argument.Split([Ô]|[Ô])(0)

Nos novos projetos utilizando o mesmo framework não aceita, observe a imagem.
O VB me da a correção e que me serve também, mas porque não aceita da forma anterior que é mais simples, não descobri porque ?
A Correção é essa:
Dim mensagem As String = [Ô]sddgsdg[nil]ddd[Ô]
mensagem = mensagem.ToString.Split(CChar([Ô]|[Ô]))(0)

MFLAVIO 04/05/2017 10:25:46
#473718
Citação:

:
Sempre utilizei isso em meus projetos:
SAT_NAG.EnviadoVenda = e.Argument.Split([Ô]|[Ô])(0)

Nos novos projetos utilizando o mesmo framework não aceita, observe a imagem.
O VB me da a correção e que me serve também, mas porque não aceita da forma anterior que é mais simples, não descobri porque ?
A Correção é essa:
Dim mensagem As String = [Ô]sddgsdg[nil]ddd[Ô]
mensagem = mensagem.ToString.Split(CChar([Ô]|[Ô]))(0)



Pelo que sei voce precisa de uma Matriz Para receber o String Partido
 
Dim mensagem As String = [Ô]sddgsdg[nil]ddd[Ô]
dim Matriz() as string
Matriz = mensagem.Split([Ô]|[Ô])
mensagem =matriz(0)
LUIZCOMINO 04/05/2017 11:16:27
#473721
Amigo tente utilizar aspas simples , que ele identifica o char.

SAT_NAG.EnviadoVenda = e.Argument.Split([ô]|[ô])(0)
NILSONTRES 04/05/2017 11:16:53
#473722
Citação:

Pelo que sei voce precisa de uma Matriz Para receber o String Partido


Então, não precisava, fiz todo o projeto SAT por exemplo utilizando sem matriz.
SAT_NAG.EnviadoVenda = e.Argument.Split([Ô]|[Ô])(0)
Tenho outros exemplos simples de pegar uma string e separar dessa forma.
DS2T 04/05/2017 11:32:09
#473724
Bom dia!

Isso acontece porque o Option Strict está habilitado no seu Visual Studio.
Para desabilitar, você pode ir nas propriedades do projeto, vai na aba Compile e coloque o Option strict como Off. Assim ele cuidará das conversões implícitas pra você.

Mas na boa mesmo? Trabalhar com conversão implícita assim, no meu ponto de vista, não é bacana. Vale a pena deixar On e você mesmo cuidar das conversões, assim como no C#...

Abraços!
OCELOT 04/05/2017 14:14:42
#473735
Resposta escolhida
Só para completar o que já falaram, então o problema é que a função que está sendo chamada espera receber como parâmetro um Char, e você esta passando um String e por isso o erro

Se comparar com C# existe você pode fazer
var str = [Ô]Minha String[Ô]; //aspas duplas significa que é uma string
var ch = [ô]C[ô]; //aspas simples significa que é char

E no VB.Net? Ele também tem algo parecido, porém não é com aspas simples, pois elas são delimitadores de comentários, então fica assim
Dim str = [Ô]Minha String[Ô] [ô]strings como todo mundo já sabe
Dim ch = [Ô]C[Ô]c [ô]você coloca apenas um caractere e coloca um [Ô]c[Ô] logo depois de fechar a string

Então a sua chamada que está dando erro de compilação pode ser escrita assim
mensagem = mensagem.ToString.Split([Ô]|[Ô]c)(0)
NILSONTRES 04/05/2017 15:37:43
#473736
DS2T,
Citação:

Isso acontece porque o Option Strict está habilitado no seu Visual Studio.


Descoberto a causa.

OCELOT,
Citação:

mensagem = mensagem.ToString.Split([Ô]|[Ô]c)(0)


Ótimo, resolve porque muda muito pouco.
Obrigado a ambos, Se pudesse pontuaria os dois, vou pontuar OCELOT pela reposta mais detalhda.
Obrigado a todos.
Tópico encerrado , respostas não são mais permitidas