求DataGridView一次性平添字符串类型的数组为行的方法

求DataGridView一次性添加字符串类型的数组为行的方法
如题,比如一个DataGridView中有3个列,然后有三个分别对应这三列的数据的字符串类型的数组x1、x2、x3,下标上限同为10000,求一次性把它们添加进去的办法。。。
我现在是这样添加的,但因为数据量很大,全部添加完效率非常低,所以求一次性添加的办法。。。

for i=0 to UBound(x1)
DataGridView1.Rows.Add(x1(i), x2(i), x3(i))
next

DataGridView1.DataSource=和DataGridView1直接用=赋值我尝试了一晚上都始终不得要领,不知道赋值给它们的变量要如何构建。
------解决方案--------------------
Dim list = Enumerable.Range(0, UBound(x1)).Select(Function(x) New With { .x1 = x1(x), .x2 = x2(x), .x3 = x3(x) }).ToList()
DataGridView1.DataSource = list