2017-02-10 1 views
-1

Ich bin neu in C# und haben diese var:
Wie kann ich var C# initialisieren?

var updates = await Bot.GetUpdatesAsync(offset); 


aber jetzt wollen Updates anderen Rahmen zu definieren und es mit dieser Form verwenden:

updates = await Bot.GetUpdatesAsync(offset); 


versuchen definieren mit Dieser Code:

var updates =(string) null; 


aber in dieser C# -Compiler Zeile diesen Fehler:?

updates = await Bot.GetUpdatesAsync(offset); 
(awaitable)Task<Update[]> TelegramBotClient.GetUpdatesAsync([int offset=0],[int limit=100],[int timeout=0],[CancellationToken cancellationToken=default(CancellationToken) 
use this method recieve incoming updates using long polling. 
Usage: 
Update[] x=await GetUpdateAsync(...); 
Can not implicitly convert type 'Telegram.Bot.Types.Update[]' to 'string' 


Wie kann ich diesen Code zu lösen Dank:

var updates =(string) null; 
+0

Natürlich, wenn Sie 'var' gesetzt als' string' es wird nicht 'Telegram.Bot.Types.Update umwandeln [ ] 'zu' string' und wird Fehler werfen. – Mairaj

Antwort

0

var updates =(string) null; Ersetzen mit var updates =(Telegram.Bot.Types.Update[]) null;

+0

Zweck der impliziten Eingabe mit 'var' Schlüsselwort - ist es, Code kürzer und lesbarer zu machen. Aber 'var updates = (Telegram.Bot.Types.Update []) null;' ist weniger lesbar und länger als explizite Typisierung wie 'Telegram.Bot.Types.Update [] updates;', daher würde ich die Verwendung von nicht empfehlen "var" in einer solchen Weise. –

+0

Stimmen Sie Andy zu. Wir können es einfach als Telegram.Bot.Types.Update [] Updates deklarieren; –

0

Offensichtlich Ihre Methode Rückgabetyp ist kein string, aber Telegram.Bot.Types.Update[].

So können Sie den Code ändern zu

Telegram.Bot.Types.Update[] updates; 
// the rest of code 
updates = await Bot.GetUpdatesAsync(offset); 
+0

Danke für die Hilfe mir mein Freund –

+0

nach 9 Minuten akzeptieren Sie Ihre Antwort –