string na const string

Odpowiedz Nowy wątek
2011-07-19 08:01
0

Witam.
Mam taki głupi problem. Zmienna lista jest pobierana z innej formatki i nie może być stała, a muszę ją zmienić na stałą w tej nowej formatce.

const string list = Form1.lista[0];

wywala taki błąd: Wyrażenie przypisywane do elementu „App.Form3.list” musi być wyrażeniem stałym.


<span style="color: red">pomyśl o wczoraj, dziś, jutra może nie być nic . . .</span>
edytowany 2x, ostatnio: KrzyH, 2011-07-19 08:04

Pozostało 580 znaków

2011-07-19 08:08
pan kuba
1

Spróbuj ze słówkiem kluczowym readonly, zamiast const.

Pozostało 580 znaków

2011-07-19 08:32
0

dalej to samo ale dzięki za chęci


<span style="color: red">pomyśl o wczoraj, dziś, jutra może nie być nic . . .</span>

Pozostało 580 znaków

2011-07-19 09:37
1

@KrzyH skopiuj zawartość? Bo zauważ że to co chcesz zrobić nie ma sensu. Zrobisz to przypisanie (które jest przypisaniem referencyjnym) ale nadal możesz ten obiekt zmieniać odwołując się do Form1.lista[0]; i twoje list się zmieni mimo ze napisałeś ze jest const.


Na PW przyjmuje tylko (ciekawe!) zlecenia. Masz problem? Pisz na forum, nie do mnie.

Pozostało 580 znaków

2011-07-19 09:57
0

w Form1 mam zadeklarowane:

public static List<string> lista = new List<string>(); 

która przechowuje zaznaczone pozycje z listboxa (jakiś tam string). Pobieram jakąś pozycje z listy do Form3 i sprawdzam czy znajdują się tam jakieś cyfry, które zapisują mi się w tablicy:

string[] numbers = Regex.Split(zmienna, @"\D+");

Regex.Split działa mi tylko jak zmienna jest zadeklarowana jako stała.


<span style="color: red">pomyśl o wczoraj, dziś, jutra może nie być nic . . .</span>
edytowany 1x, ostatnio: KrzyH, 2011-07-19 09:57

Pozostało 580 znaków

2011-07-19 10:07
1

pics or it didn't happen, bo dokumentacja twierdzi że argumentem moze być najzwyklejszy string.


Na PW przyjmuje tylko (ciekawe!) zlecenia. Masz problem? Pisz na forum, nie do mnie.

Pozostało 580 znaków

2011-07-19 11:35
1

Regex.Split działa mi tylko jak zmienna jest zadeklarowana jako stała.
.Net niespecjalnie przejmuje się "const correctness", więc to nie powinno stanowić problemu.

Pozostało 580 znaków

2011-07-19 11:40
1

Wartość stałych musi być ustalona już przy kompilowaniu.
Takie coś przejdzie:

        const string stala = "aaa" + "bb";

Ale coś takiego już nie:

        const string stala = "aaa" + zmienna;
        static string zmienna = "bb";

Pozostało 580 znaków

2011-07-19 13:01
0

Najwidoczniej coś źle zrobiłem, bo się kompiluje normalnie. Od nowa napisze cały kawałek kodu i zobaczę może zadziała to co chce. Dzięki za pomoc


<span style="color: red">pomyśl o wczoraj, dziś, jutra może nie być nic . . .</span>

Pozostało 580 znaków

2011-07-20 02:47
0

A może masz po prostu włączone uruchamianie poprzedniej działającej wersji w przypadku błędów kompilacji? :)


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
ta funkcja jest zua. po co w ogóle takie coś wprowadzili? - Azarien 2011-07-20 09:19

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0