Existe-t-il un moyen d'avoir des chaînes multilignes dans VB.NET comme python
a = """
multi
line
string
"""
ou php
$a = <<<END
multi
line
string
END;
?
Bien sûr, quelque chose qui n'est pas
"multi" & _
"line
Existe-t-il un moyen d'avoir des chaînes multilignes dans VB.NET comme python
a = """
multi
line
string
"""
ou php
$a = <<<END
multi
line
string
END;
?
Bien sûr, quelque chose qui n'est pas
"multi" & _
"line
Vous pouvez utiliser les littéraux XML pour obtenir un effet similaire:
Imports System.XML
Imports System.XML.Linq
Imports System.Core
Dim s As String = <a>Hello
World</a>.Value
N'oubliez pas que si vous avez des caractères spéciaux, vous devez utiliser un bloc CDATA:
Dim s As String = <![CDATA[Hello
World & Space]]>.Value
VB.Net n'a pas cette fonctionnalité et il va pas venir dans Visual Studio 2010. La fonctionnalité qui jirwin est fait référence est appelé implicite de continuation de ligne. Il a à voir avec la suppression de l' _ à partir d'un multiple de la ligne de la déclaration ou de l'expression. Cela supprime la nécessité de mettre fin à une multiligne chaîne avec _ mais il n'y a pas encore de mult-ligne de chaîne littérale en VB.
Exemple de chaîne multi-ligne
Visual Studio 2008
Dim x = "line1" & vbCrlf & _
"line2"
Visual Studio 2010
Dim x = "line1" & vbCrlf &
"line2"
J'ai utilisé cette variante:
Dim query As String = <![CDATA[
SELECT
a.QuestionID
FROM
CR_Answers a
INNER JOIN
CR_Class c ON c.ClassID = a.ClassID
INNER JOIN
CR_Questions q ON q.QuestionID = a.QuestionID
WHERE
a.CourseID = 1
AND
c.ActionPlan = 1
AND q.Q_Year = '11/12'
AND q.Q_Term <= (SELECT CurrentTerm FROM CR_Current_Term)
]]>.Value()
il permet <> dans la chaîne
C'était un article vraiment utile pour moi, mais personne n'a mentionné comment concaténer au cas où vous souhaitiez envoyer des variables, ce que vous devez faire 99% du temps.
... <% = variable %> ...
Voici comment vous le faites:
<SQL>
SELECT * FROM MyTable WHERE FirstName='<%= EnteredName %>'
</SQL>.Value
Eh bien, puisque vous semblez être sur votre python, je suggère que vous copiez votre texte en python, comme:
s="""this is gonna
last quite a
few lines"""
puis faire un:
for i in s.split('\n'):
print 'mySB.AppendLine("%s")' % i
# mySB.AppendLine("this is gonna")
# mySB.AppendLine("last quite a")
# mySB.AppendLine("few lines")
ou
print ' & _ \n'.join(map(lambda s: '"%s"' % s, s.split('\n')))
# "this is gonna" & _
# "last quite a" & _
# "few lines"
puis au moins vous pouvez le copier et le mettre dans votre code VB. Les points de Bonus si vous liez un raccourci clavier (plus rapide pour obtenir avec:Autohotkey) à faire ce pour pour tout ce qui est dans votre mémoire tampon de collage. La même idée fonctionne bien pour un formateur SQL.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.