将字符串转换为常量字符串

时间:2009-06-09 15:10:36

标签: asp.net vb.net

我有以下代码......

Const ToAddress As String = username.Text & "@gmail.com"

设置为在我的Net.Mail.MailMessage上使用的ToAddress 使用以下构造函数

创建

Dim mm As New Net.Mail.MailMessage(username.Text, ToAddress

,它接受一个字符串和一个常量字符串。但我在这里得到一个错误

Const ToAddress As String = **username.Text** & "@gmail.com"

表示:需要持续表达

6 个答案:

答案 0 :(得分:2)

how to use mailmessage

username.text是可变的,你将无法创建一个const

您始终可以创建一个可以在username.text

上进行验证的函数
 public function ToAddress(byval _username as string) as MailAddress
      '
      'validation here for _username
      '
      return new MailAddress(_username & "@gmail.com")         
 end function

答案 1 :(得分:0)

这不是如何使用Const。请参阅first line here。 “常量是一种特殊的变量,其值在程序执行期间不能改变”

编辑:请参阅Fredou对正确语法的回答。

答案 2 :(得分:0)

VB.NET和C#不是C.常量修饰符仅用于编译时已知其值的常量。

答案 3 :(得分:0)

请记住,常量是由编译器编译为程序集的文字的值。这就是为什么不能将常量定义为表达式的原因,因为编译器无法在编译时计算表达式。

定义常量时,编译器将获取该常量的值,并将源中常量的所有使用替换为文本值。在您的示例中,我没有看到您需要将字符串定义为Const的任何原因,因为接收字符串的方法无法在编译时确定字符串是否为Const

答案 4 :(得分:0)

而不是使用Const,特别是,如果您只想在类的实例生命中使用“常量”行为,请尝试:

ReadOnly ToAddress As String = username.Text & "@gmail.com"

答案 5 :(得分:0)

感谢您的协助。我关闭了visual studio并重新启动它,现在发送邮件工作正常。好像VS有一个错误...