<?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[switch-Anweisung mit AnsiString]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>geht es im Borland c++ nicht eine switch-Anweisung mit einem AnsiString durchzuführen?</p>
<p>wie folgt:</p>
<pre><code class="language-cpp">AnsiString wireArt = &quot;3wire&quot;;
switch(wireArt)
     {
        case &quot;3wire&quot;:dreiWire();
        case &quot;6wire&quot;:sechsWire();
        default: ShowMessage(&quot;Keine Übereinstimmung!!&quot;);
     }
</code></pre>
<p>danke Bench</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/207328/switch-anweisung-mit-ansistring</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 04:36:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/207328.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Mar 2008 09:07:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to switch-Anweisung mit AnsiString on Thu, 06 Mar 2008 09:07:04 GMT]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>geht es im Borland c++ nicht eine switch-Anweisung mit einem AnsiString durchzuführen?</p>
<p>wie folgt:</p>
<pre><code class="language-cpp">AnsiString wireArt = &quot;3wire&quot;;
switch(wireArt)
     {
        case &quot;3wire&quot;:dreiWire();
        case &quot;6wire&quot;:sechsWire();
        default: ShowMessage(&quot;Keine Übereinstimmung!!&quot;);
     }
</code></pre>
<p>danke Bench</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469175</guid><dc:creator><![CDATA[Bench_XProjects]]></dc:creator><pubDate>Thu, 06 Mar 2008 09:07:04 GMT</pubDate></item><item><title><![CDATA[Reply to switch-Anweisung mit AnsiString on Thu, 06 Mar 2008 09:09:26 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Nein, das geht nicht. Hier geht nur eine if/else Kaskade (hier am Besten) oder eine map.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469177</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 06 Mar 2008 09:09:26 GMT</pubDate></item><item><title><![CDATA[Reply to switch-Anweisung mit AnsiString on Thu, 06 Mar 2008 09:09:40 GMT]]></title><description><![CDATA[<p>Bench_XProjects schrieb:</p>
<blockquote>
<p>geht es im Borland c++ nicht eine switch-Anweisung mit einem AnsiString durchzuführen?</p>
</blockquote>
<p>Nein.</p>
<p>Der switch ist in C++ nur für integrale Datentypen geeignet. Andere Sprachen helfen sich hier z.B. mit Hashwerten für Strings aus.</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469178</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 06 Mar 2008 09:09:40 GMT</pubDate></item><item><title><![CDATA[Reply to switch-Anweisung mit AnsiString on Thu, 06 Mar 2008 09:14:05 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>cool danke!<br />
Habe es mit, wie gesagt, mit elseif gemacht!!!</p>
<p>Schade eigentlich!<br />
Kommt von c# und da gehts!!!:-)</p>
<p>Danke Bench</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469179</guid><dc:creator><![CDATA[Bench_XProjects]]></dc:creator><pubDate>Thu, 06 Mar 2008 09:14:05 GMT</pubDate></item><item><title><![CDATA[Reply to switch-Anweisung mit AnsiString on Thu, 06 Mar 2008 09:54:21 GMT]]></title><description><![CDATA[<p>Bench_XProjects schrieb:</p>
<blockquote>
<p>Schade eigentlich!<br />
Kommt von c# und da gehts!!!:-)</p>
</blockquote>
<p>In C# wird auch jedem String intern ein Inhaltsbezogener Hashwert zugewiesen (Zwei Strings mit dem gleichen Text haben den gleichen Hashwert). Der Trick bei C# ist nun das der switch in diesem Fall über den (integralen) Hashwert geht, und du von all dem nichts bemerkst da es im Hintergrund passiert.</p>
<p>Sprich: Unter der Haube arbeitet auch C# nur mit integralen Datentypen beim Switch (alles andere ist auch performancetechnisch ein Problem).</p>
<p>Theoretisch kannst du dir so etwas auch in C++ basteln (sofern du für jeden casefall den vorberechneten Wert einträgst und mit einer eigenen Hashfunktion arbeitest)...</p>
<p>cu André<br />
P.S: Genau genommen ist es bei C# noch ein wenig anders, dies ist eine Vereinfachte Darstellung (In C# hat soviel ich weiß jeder inhaltlich identische String auch den gleichen Speicherbereich für den Text, und bei jeder Wertänderung wird ein neuer Bereich genommen [bzw. auf einen anderen mit identischen Inhalt verwiesen]).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1469194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1469194</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Thu, 06 Mar 2008 09:54:21 GMT</pubDate></item></channel></rss>