如何在Dart中连接两个字符串?

ASH*_*EEV 8 string dart

我是Dart编程语言的新手,任何人都可以帮我找到Dart中最好的字符串连接方法.

我只找到了加号(+)运算符来连接其他编程语言的字符串.

Gün*_*uer 17

连接字符串有3种方法

String a = 'a';
String b = 'b';

var c1 = a + b; // + operator
var c2 = '$a$b'; // string interpolation
var c3 = 'a' 'b'; // string literals separated only by whitespace are concatenated automatically
var c4 = 'abcdefgh abcdefgh abcdefgh abcdefgh' 
         'abcdefgh abcdefgh abcdefgh abcdefgh';
Run Code Online (Sandbox Code Playgroud)

通常字符串插值优先于+运算符.

还有StringBuffer用于更复杂和高性能的字符串构建.

  • 实际上,您不必将相邻的字符串文字与空格分开.'你好'''世界'将打印成你好世界 (2认同)
  • + 运算符对于字符串连接来说是一种不好的做法,请参阅:https://dart.dev/guides/language/ effective-dart/usage#prefer-using-interpolation-to-compose-strings-and-values (2认同)

Yog*_*ngh 6

假设你有一个 Person 类。

class Person {
   String name;
   int age;

   Person({String name, int age}) {
    this.name = name;
    this.age = age;
  }
}
Run Code Online (Sandbox Code Playgroud)

并且您想打印人员的描述。

var person = Person(name: 'Yogendra', age: 29);
Run Code Online (Sandbox Code Playgroud)

在这里你可以像这样连接字符串

 var personInfoString = '${person.name} is ${person.age} years old.';
 print(personInfoString);
Run Code Online (Sandbox Code Playgroud)


M. *_*fin 5

如果你需要循环连接,我有这个:

var list = ['satu','dua','tiga'];
var kontan = StringBuffer();
list.forEach((item){
    kontan.writeln(item);
});
konten = kontan.toString();
Run Code Online (Sandbox Code Playgroud)

  • 使用可迭代时最好使用“writeAll”:/sf/answers/4779944151/ (3认同)

Bai*_*aig 5

最简单的方法

String get fullname {
   var list = [firstName, lastName];
   list.removeWhere((v) => v == null);
   return list.join(" ");
}
Run Code Online (Sandbox Code Playgroud)