Конкатенация строк с +=
Это очень простой вопрос. Насколько я понимаю, += можно использовать для объединения двух строк. Я перестал использовать его, потому что есть что-то, чего я не понимаю.
Я скачал образец кода из Microsoft. Переменная
Shown
не объявляется как строка и больше нигде в программе. Я знаю, что это неполный класс. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading.Tasks; using System.Net; using System.Threading; using System.Diagnostics; namespace DownloadAsyncProgress { public partial class frmDownloadAsync : Form { public frmDownloadAsync() { InitializeComponent(); Shown += async ( s, e ) => { txtResult.Text = ( await DownloadAsync() ).Replace( "\n", "\r\n" ) + "Done!"; }; } async Task<string> DownloadAsync() { Debug.WriteLine( "\nDownloadAsync()" ); using ( var wc = new WebClient() ) { var progress = new Progress<DownloadStringTaskAsyncExProgress>(); progress.ProgressChanged += ( s, e ) => { Debug.WriteLine( "Progress: " + e.ProgressPercentage + "%" ); progressBar.Value = e.ProgressPercentage; txtResult.Text += e.Text.Replace( "\n", "\r\n" ); }; return await wc.DownloadStringTaskAsyncEx( @"http://www.microsfot.com/", progress ); } } } }
Что я уже пробовал:
Код работает. Я ожидал увидеть объявление глобальной переменной, но
Shown
больше нигде в программе такого нет.