1
我想知道,如果有人可以幫助,我是比較新的編程C#,這裏是造成StackOverflowException代碼:幫助我解決一個StackOverflowException C#
private void createButton_Click(object sender, RoutedEventArgs e)
{
try
{
MeWhoService.Account NewAccount = new MeWhoService.Account();
NewAccount.AccountID = Guid.NewGuid();
NewAccount.LastName = LastNameTextBox.Text.Trim();
NewAccount.FirstName = FirstNameTextBox.Text.Trim();
NewAccount.EmailAddress = EMailAddressTextBox.Text.Trim();
NewAccount.Password = PasswordTextBox.Password.Trim();
NewAccount.ConfirmPassword = ConfirmPasswordTextBox.Password.Trim();
// Set Password
if (ValidatePassword())
{
NewAccount.Password = PasswordTextBox.Password.Trim();
viewModel.Create(NewAccount);
NavigationService.Navigate(App.MeAndWhoUri);
}
else
{
MessageBox.Show("Your Passwords don't match.");
}
}
catch (Exception excp)
{
MessageBox.Show(excp.Message);
}
}
如果您明確指出上述代碼中的哪一行涉及堆棧溢出,將會非常有幫助。 – 2011-12-21 00:16:33
StackOverflowException是由一個函數引起的,該函數最終會在遞歸循環中調用自身(可能間接),直到堆棧被填充。通常只需查看異常的堆棧跟蹤即可看到問題。您沒有包含足夠的代碼供我們肯定地說。 – antlersoft 2011-12-21 00:18:19
堆棧溢出可能不是由上面的代碼造成的;相反,它可能是由上述代碼調用的其中一種方法引起的,例如ValidatePassword()或您寫的其他內容。 – 2011-12-21 00:18:51