Как создать пустой словарь для дополнительного аргумента в VB.NET

Ваш код JSON должен быть (слишком много запятых):

{
  "harry_0123": {
    "id": "0123",
    "name": "harry"
  },
  "ben_0124": {
    "id": "0124",
    "name": "ben"
  }
}

Чтобы удалить данные массива в PHP, вы можете использовать unset:

// Index Target (use 

Ваш код JSON должен быть (слишком много запятых):

[110]

Чтобы удалить данные массива в PHP, вы можете использовать unset:

[111]POST /

Ваш код JSON должен быть (слишком много запятых):

[110]

Чтобы удалить данные массива в PHP, вы можете использовать unset:

[111]GET if you submitted from a form) $target = 'harry_0123'; // Check Target if ( isset($json_arr[$target]) ) { // Deleting unset($json_arr[$target]); }
7
задан MPelletier 5 May 2012 в 04:57
поделиться

2 ответа

Невозможно указать пустой словарь в качестве значения по умолчанию для параметра в VB.Net. VB.Net поддерживает только те значения, которые могут быть закодированы в MetaData, и создание нового экземпляра словаря не является одним из них.

Однако, у вас есть опция, которая имеет необязательное значение по умолчанию Nothing. В случае Nothing создайте пустой словарь. Например.

Public Sub SomeMethod(Optional ByVal map as Dictionary(Of Key,Value) = Nothing)
  if map Is Nothing Then
    map = new Dictionary(Of Key,Value)
  ENd If 
  ...
End Sub
5
ответ дан 6 December 2019 в 12:54
поделиться

В .NET нет предварительно консервированного пустого словаря. Чтобы создать пустой словарь, просто перейдите в New Dictionary (). Однако я считаю, что вам не разрешат использовать это значение по умолчанию для необязательного аргумента, поскольку его нельзя вычислить во время компиляции и поместить в DefaultValueAttribute. Вместо этого вам нужно будет перегрузить функцию: одна перегрузка принимает аргумент словаря, а другая - нет. Последний просто создаст пустой словарь, как указано выше, и вызовет первую перегрузку.

Я полагаю, что вам не разрешат использовать это значение по умолчанию для необязательного аргумента, потому что он не может быть рассчитан во время компиляции и помещен в DefaultValueAttribute. Вместо этого вам нужно будет перегрузить функцию: одна перегрузка принимает аргумент словаря, а другая - нет. Последний просто создаст пустой словарь, как указано выше, и вызовет первую перегрузку.

Я полагаю, что вам не разрешат использовать это значение по умолчанию для необязательного аргумента, потому что он не может быть рассчитан во время компиляции и помещен в DefaultValueAttribute. Вместо этого вам нужно будет перегрузить функцию: одна перегрузка принимает аргумент словаря, а другая - нет. Последний просто создаст пустой словарь, как указано выше, и вызовет первую перегрузку.

9
ответ дан 6 December 2019 в 12:54
поделиться
Другие вопросы по тегам:

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