Как сказать, была ли переменная инициализирована в C#?

Я отвечу на Ваш вопрос с примером. Предположим, что у нас был Математический класс со статическим методом, добавляют. Вы назвали бы этот метод как так:

Math.add(2, 3);

, Если Математика была интерфейсом вместо класса, она не могла бы иметь никаких определенных функций. По сути, высказывание чего-то как Math.add (2, 3) не имеет никакого смысла.

21
задан gdoron is supporting Monica 8 December 2011 в 19:25
поделиться

6 ответов

Синтаксис, который вы ищете:

while (result == null)

Вам также необходимо установить result = null; , чтобы начать также с

24
ответ дан 29 November 2019 в 06:23
поделиться

Хотя у вас есть ответ, который вас устраивает, в нем есть что-то интересное или полезное.

Есть разница между C # и VB.NET. В VB.NET вы можете написать:

Dim b as Boolean

А в C # вы можете написать:

bool b;

Они несколько отличаются. В VB.NET b присвоено значение false (другими словами, оно уже инициализировано). В C # b не имеет значения (не инициализирован). C # прилагает много усилий, чтобы убедиться, что вы не можете проверить значение переменной, которая никогда не была инициализирована.

Таким образом, вы не проверяете, инициализирована ли переменная. В VB.NET нет такой вещи, как неинициализированная переменная. В C # невозможно получить значение неинициализированной переменной, чтобы сравнить его с чем-либо.

You '

2
ответ дан 29 November 2019 в 06:23
поделиться
while (result ==null )

, если вы это имеете в виду

3
ответ дан 29 November 2019 в 06:23
поделиться
while(result == null)

Эквивалент ничего в C # - null.

1
ответ дан 29 November 2019 в 06:23
поделиться

Возникла повышенная сложность из-за пространства имен Microsoft SQL Reporting Services 2008 это было частью входного XML. Сначала я не понял, что был таким важная линия. Спасибо Павлу Минаеву за комментарий пространства имен . Следующий XSL помог извлечь нужные мне данные:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="EXQC005">
  <xsl:output method="xml" indent="yes" encoding="utf-8"/>

  <xsl:template match="/">
    <xsl:for-each select="a:Report/a:FlatData/a:Details1_Collection/a:Details1">
      <xsl:element name="{name(.)}">
        <xsl:for-each select="@*">
          <xsl:element name="{name(.)}">
            <xsl:value-of select="."/>
          </xsl:element>
        </xsl:for-each>
      </xsl:element>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

Думаю, я попытаюсь очистить это, чтобы использовать стиль apply-templates , который предложил lavinio . Также благодарим Йорна Хорстманна за код select = "@ *" в для каждого цикла .

4
ответ дан 29 November 2019 в 06:23
поделиться
while (result == null)
0
ответ дан 29 November 2019 в 06:23
поделиться
Другие вопросы по тегам:

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