Почему объектами Кортежа является ReadOnly?

Вы также можете получить контекст из параметра inflater при переопределении onCreateView.

public static class MyFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
        /* ... */
        Context context = inflater.getContext();
        /* ... */
    }
}
49
задан Drake 27 June 2010 в 22:47
поделиться

2 ответа

Кортежи возникли в функциональном программировании. В (чисто) функциональном программировании все неизменяемо по замыслу - определенная переменная всегда имеет только одно определение, как в математике. Разработчики .NET мудро следовали тому же принципу при интеграции функционального стиля в C#/.NET, несмотря на то, что в конечном итоге это преимущественно императивный (гибридный?) язык.

Примечание: Хотя я подозреваю, что тот факт, что кортежи неизменяемы, на самом деле не сильно усложняет вашу задачу, есть также анонимные типы (или, возможно, просто простые struct), которые вы можете захотеть использовать.

50
ответ дан 7 November 2019 в 11:55
поделиться

Вы могли бы хотеть попытаться обновить, поскольку C# 7.0 представляет новая поддержка языка Кортежей , который (среди прочего) делает их изменяемыми. (Под капотом это использует ValueTuple, участники которого изменяемы.)

0
ответ дан 7 November 2019 в 11:55
поделиться
Другие вопросы по тегам:

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