Как скопировать часть массива к другому массиву в C#?

У меня есть несколько проектов, которые делают то, что вы только что сказали, сохраняя записи в нескольких таблицах одновременно. Я считаю, что это действительно происходит в приложении в реальном сценарии.

Вот что я делаю, хотя:

public function store(Request $request)
{
    $main = $this->saveModel1($request);
    $this->saveModel2($request);    

    return redirect()->route('my.route.name.for.edit', $main->id);
}

private function saveModel1($request)
{
    $model1 = new Model1;
    $model1->bla = "Model1";
    $model1->save();
    return $model1->id;
}

private function saveModel2($request)
{
    $model2 = new Model2;
    $model2->bla = "Model2";
    $model2->save();
}

ОБНОВЛЕНИЕ: Этот ответ был выбран как правильный, но я просто хочу добавить, что при таких условиях, это безопасно, чтобы включить ваш запрос сохранения в транзакция.

DB::beginTransaction();
try
{

}
catch (\PDOException $e)
{

}
137
задан bluish 15 June 2011 в 13:53
поделиться

2 ответа

int[] b = new int[3];
Array.Copy(a, 1, b, 0, 3);
  • a = исходный массив
  • 1 = начальный индекс в исходном массиве
  • b = целевой массив
  • 0 = начальный индекс в массиве назначения
  • 3 = элементы для копирования
262
ответ дан 23 November 2019 в 23:33
поделиться

См. этот вопрос . LINQ Take () и Skip () являются наиболее популярными ответами, а также Array.CopyTo ().

Якобы более быстрый метод расширения описан здесь .

18
ответ дан 23 November 2019 в 23:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: