tags:

views:

146

answers:

2

Can someone explain, what is this doing?? I am new and learning

txtCardNo.Text.Trim().Substring((txtCardNo.Text.Trim().Length - 4), 4)

Thank you!!!

+2  A: 

It's getting the last four digits of the card number.

To break it down:

txtCardNo.Text = the contents of the Card Number textbox
.Trim() = removes spaces from the end
.Substring(x,y) = returns y characters from the string, starting at position x

In this case, position x is the length of the string minus 4, so we're returning the last four characters.

JacobM
+15  A: 

It gets last 4 characters from txtCardNo (without leading or ending spaces) but it would be better if it was like this:

var result = txtCardNo.Text.Trim();
result = result.Substring(result.Length - 4);

EDIT:

Also, note that this will throw error if trimmed string has less than 4 characters. You could handle it with something like this:

var result = txtCardNo.Text.Trim();
if (result.Length >=4)
   result = result.Substring(result.Length - 4);
else
   // do domething
Ivan Ferić