<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Initialisierung eines Structs mit Konstruktor]]></title><description><![CDATA[<p>Der folgende Code liefert unterschiedliche Ergebnisse. Weis da jemand warum?</p>
<pre><code class="language-csharp">namespace ConsoleApp1
{
    class Program
    {
        public struct Foo
        {
            public int mStep;

            public Foo(int Step = -1)
            {
                mStep = Step;
            }
        }

        public class Foo2
        {
            public int mStep;

            public Foo2(int Step = -1)
            {
                mStep = Step;
            }
        }

        static void Main(string[] args)
        {
            Foo f = new Foo();
            Foo2 f2 = new Foo2();

            System.Console.WriteLine(&quot;Foo.mStep = &quot; + f.mStep);
            System.Console.WriteLine(&quot;Foo2.mStep = &quot; + f2.mStep);
            System.Console.WriteLine(&quot;Hallo Welt&quot;);
        }
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/354520/initialisierung-eines-structs-mit-konstruktor</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 13:53:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/354520.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Feb 2024 14:10:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Initialisierung eines Structs mit Konstruktor on Thu, 01 Feb 2024 14:10:19 GMT]]></title><description><![CDATA[<p>Der folgende Code liefert unterschiedliche Ergebnisse. Weis da jemand warum?</p>
<pre><code class="language-csharp">namespace ConsoleApp1
{
    class Program
    {
        public struct Foo
        {
            public int mStep;

            public Foo(int Step = -1)
            {
                mStep = Step;
            }
        }

        public class Foo2
        {
            public int mStep;

            public Foo2(int Step = -1)
            {
                mStep = Step;
            }
        }

        static void Main(string[] args)
        {
            Foo f = new Foo();
            Foo2 f2 = new Foo2();

            System.Console.WriteLine(&quot;Foo.mStep = &quot; + f.mStep);
            System.Console.WriteLine(&quot;Foo2.mStep = &quot; + f2.mStep);
            System.Console.WriteLine(&quot;Hallo Welt&quot;);
        }
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2620159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2620159</guid><dc:creator><![CDATA[Quiche Lorraine]]></dc:creator><pubDate>Thu, 01 Feb 2024 14:10:19 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung eines Structs mit Konstruktor on Thu, 01 Feb 2024 15:05:25 GMT]]></title><description><![CDATA[<p><s>Da sollten Zeiger genutzt werden, Du weiß Foo f und Foo2 f2 Zeiger zu. Das kann nichts werden.</s><br />
Unzutreffendes gestrichen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2620162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2620162</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Thu, 01 Feb 2024 15:05:25 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung eines Structs mit Konstruktor on Thu, 01 Feb 2024 14:26:10 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35432">@Quiche-Lorraine</a><br />
Aus irgendeinem Grund erstellt C# einen Default Ctor, der den Member auf 0 setzt und der wird aufgerufen. Bei Class wird das nicht gemacht.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16792">@john-0</a> It's C# not C++ <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2620163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2620163</guid><dc:creator><![CDATA[Schlangenmensch]]></dc:creator><pubDate>Thu, 01 Feb 2024 14:26:10 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung eines Structs mit Konstruktor on Thu, 01 Feb 2024 14:35:14 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16792">@john-0</a>: Dies ist C#-Code...</p>
<p>Bei einer Struktur (<code>struct</code>) wird bei <code>Foo()</code> <strong>immer</strong> der Standardkonstruktor aufgerufen, unabhängig ob es einen anderen Konstruktor mit Default-Parametern gibt (der also hier sinnlos ist)!<br />
Man konnte (bis C# 9) bei einer Struktur auch keinen eigenen Standardkonstruktor erstellen, da dieser immer alle Member mit den Standardwerten (d.h. bei <code>int</code> also <code>0</code>) setzt, s.a. <a href="https://learn.microsoft.com/de-de/dotnet/csharp/language-reference/language-specification/structs" rel="nofollow">struct</a> (bes. &quot;16.4.5 Default values&quot;).<br />
Seit C# 10 kann man jedoch <a href="https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-10.0/parameterless-struct-constructors" rel="nofollow">Parameterless struct constructors</a> erstellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2620164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2620164</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Thu, 01 Feb 2024 14:35:14 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung eines Structs mit Konstruktor on Thu, 01 Feb 2024 15:04:57 GMT]]></title><description><![CDATA[<p>Sorry, die Übersichtsliste verleitet einem zuweilen dazu, auf die falsche Beiträge zu antworten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2620166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2620166</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Thu, 01 Feb 2024 15:04:57 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung eines Structs mit Konstruktor on Thu, 01 Feb 2024 16:03:28 GMT]]></title><description><![CDATA[<p>Nach einigen Beiträgen scrollen das Thema und der Name des Subforums schnell aus dem Sichtbereich, wäre schon gut, wenn das am oberen Bildschirmrand stehenbliebe und damit immer sichtbar wäre. Ich schlag das mal in Forentechnik vor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2620167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2620167</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Thu, 01 Feb 2024 16:03:28 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung eines Structs mit Konstruktor on Fri, 02 Feb 2024 06:49:31 GMT]]></title><description><![CDATA[<p>Danke Leute, ich habe es verstanden.</p>
<p>Wäre aber schön gewesen wenn die IDE oder der Compiler eine Fehlermeldung gezeigt hätten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2620177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2620177</guid><dc:creator><![CDATA[Quiche Lorraine]]></dc:creator><pubDate>Fri, 02 Feb 2024 06:49:31 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung eines Structs mit Konstruktor on Fri, 02 Feb 2024 16:36:48 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35432">@Quiche-Lorraine</a> sagte in <a href="/forum/post/2620177">Initialisierung eines Structs mit Konstruktor</a>:</p>
<blockquote>
<p>Danke Leute, ich habe es verstanden.</p>
<p>Wäre aber schön gewesen wenn die IDE oder der Compiler eine Fehlermeldung gezeigt hätten.</p>
</blockquote>
<p>Melde es an Microsoft. Wir können da weder was dafür noch können wir es ändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2620219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2620219</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Fri, 02 Feb 2024 16:36:48 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung eines Structs mit Konstruktor on Sat, 03 Feb 2024 07:22:19 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13960">@hustbaer</a> sagte in <a href="/forum/post/2620219">Initialisierung eines Structs mit Konstruktor</a>:</p>
<blockquote>
<p>Wir können da weder was dafür noch können wir es ändern.</p>
</blockquote>
<p>Sorry, das war jetzt nicht als Vorwurf gemeint.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2620222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2620222</guid><dc:creator><![CDATA[Quiche Lorraine]]></dc:creator><pubDate>Sat, 03 Feb 2024 07:22:19 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung eines Structs mit Konstruktor on Sun, 04 Feb 2024 02:45:46 GMT]]></title><description><![CDATA[<p>Hehe, OK.<br />
Aber im Ernst: du kannst das an MS melden. In Visual Studio gibt's ja den Send Feedback Button.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2620249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2620249</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 04 Feb 2024 02:45:46 GMT</pubDate></item></channel></rss>