Wyświetlenie całego tekstu w jednej linii

0

Cześć,

Mam drobny problem, jeszcze nie orientuję się za bardzo w operacjach wejścia/wyjścia, napisałem taki program:

{
    class Program
    {
        enum DzieńTygodnia { Poniedziałek, Wtorek, Środa, Czwartek, Piątek, Sobota, Niedziela }
        static void Main(string[] args)
        {
            DzieńTygodnia tenDzieńLubie = DzieńTygodnia.Wtorek;
            DzieńTygodnia tegoDniaNieLubie = DzieńTygodnia.Czwartek;
            Console.WriteLine("Mój ulubiony dzień to: {0}", tenDzieńLubie + " a tego dnia nie lubię: {0}", tegoDniaNieLubie);


            Console.ReadKey();
            
        }
    }
}

Co mam zrobić aby cały tekst wyświetlał mi się w jednej linii? Po skompilowaniu pokazuje się tylko {0} i nie pokazuje się Czwartek.

Pozdrawiam

0

String.Format.

@Jumpeq: na temat odpowiadaj w postach.

A co mówi dokumentacja? ;-)

1

zakladajac ze uzywasz najnowszego c# to mozesz w ten sposob:

Console.WriteLine($"Mój ulubiony dzień to: {tenDzieńLubie} a tego dnia nie lubię: {tegoDniaNieLubie}");

(zwroc uwage na $ przed stringiem, wiecej - https://msdn.microsoft.com/en-us/library/dn961160.aspx)

0

https://msdn.microsoft.com/pl-pl/library/fht0f5be(v=vs.110).aspx <- tu jest tak napisane że nie wiem w ogóle o co chodzi

http://cezarywalenciuk.pl/blog/programing/post/stringformat-formatowanie-napisow-w-c <- jak zrobiłem tak jak tutaj wywala błędy

napisałem tak:

   string.Format(Console.WriteLine("Mój ulubiony dzień to: {0}", tenDzieńLubie + " a tego dnia nie lubię: {0}", tegoDniaNieLubie));



także dalej nie mam pojęcia gdzie mam to wpisać

0

Masz przecież w dokumentacji napisane, że String.Format przyjmuje co najmniej jeden argument - ciąg znaków - a następnie opcjonalne argumenty wykorzystywane do jego przeformatowania.

Na drugiej podanej przez Ciebie stronie wprost są podane przykłady w stylu s_re_2[0] = string.Format("Wystąpił {0} błąd", liInt); - czy widzisz gdzieś tutaj Console.WriteLine w środku?

0
katelx napisał(a):

zakladajac ze uzywasz najnowszego c# to mozesz w ten sposob:

Console.WriteLine($"Mój ulubiony dzień to: {tenDzieńLubie} a tego dnia nie lubię: {tegoDniaNieLubie}");

(zwroc uwage na $ przed stringiem, wiecej - https://msdn.microsoft.com/en-us/library/dn961160.aspx)

Korzystam z Visual Studio 2012 Ultimate, i ta formuła która została tutaj zaprezentowana w ogóle nie działa, wywala błędy.

0
Patryk27 napisał(a):

Masz przecież w dokumentacji napisane, że String.Format przyjmuje co najmniej jeden argument - ciąg znaków - a następnie opcjonalne argumenty wykorzystywane do jego przeformatowania.

Na drugiej podanej przez Ciebie stronie wprost są podane przykłady w stylu s_re_2[0] = string.Format("Wystąpił {0} błąd", liInt); - czy widzisz gdzieś tutaj Console.WriteLine w środku?

Napisałem coś takiego:

  string.Format("Mój ulubiony dzień to: {0}", tenDzieńLubie + " a tego dnia nie lubię: {0}", tegoDniaNieLubie); 

Ale się nic nie wyświetliło(czarne okno z migającym kursorem), w tym linku co piszesz tam deklarują coś na początku ale ja w ogóle nie wiem o co chodzi :/

0
  string.Format("Mój ulubiony dzień to: {0} a tego dnia nie lubię: {1}", tenDzieńLubie , tegoDniaNieLubie); 
0
.Al napisał(a):
  string.Format("Mój ulubiony dzień to: {0} a tego dnia nie lubię: {1}", tenDzieńLubie , tegoDniaNieLubie); 

Dzięki ale to też nie działa.

Dopiero ta forma zadziałała:

 Console.WriteLine("Mój ulubiony dzień to: " + tenDzieńLubie + " a tego dnia nie lubię: " + tegoDniaNieLubie); 
0

Ale się nic nie wyświetliło
W jaki sposób ma się wyświetlić, skoro String.Format() jedynie formatuje tekst, a dopiero Console.WriteLine() go wyświetla?

Wyobraź sobie funkcję getName(), która zwraca Twoje imię - samo wywołanie getName() nie spowoduje wyświetlenia Twojego imienia w konsoli, dopiero Console.Write(getName());.

Dopiero ta forma zadziałała:
To tak, jak gdybyś stwierdził mam uszkodzony silnik w samochodzie, ale mogę nadal nim jeździć w innej formie: komunikacją miejską.

String.Format() zwraca przeformatowany wejściowy ciąg znaków - wykorzystaj ten fakt (że zwraca) i połącz z Console.WriteLine(), które z kolei w argumencie oczekuje ciągu znaków.

0
Jumpeq napisał(a):
katelx napisał(a):

zakladajac ze uzywasz najnowszego c# to mozesz w ten sposob:

Console.WriteLine($"Mój ulubiony dzień to: {tenDzieńLubie} a tego dnia nie lubię: {tegoDniaNieLubie}");

(zwroc uwage na $ przed stringiem, wiecej - https://msdn.microsoft.com/en-us/library/dn961160.aspx)

Korzystam z Visual Studio 2012 Ultimate, i ta formuła która została tutaj zaprezentowana w ogóle nie działa, wywala błędy.

Możesz nie mieć włączonej obsługi C# 6.0 w opcjach.

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