Как сказал @erickson, иногда есть заголовок «Transfer-Encoding: chunked» вместо «Content-Length:» и, конечно, у вас есть нулевое значение для длины.
О методе available () - никто не может гарантировать вам, что он вернет правильное значение, поэтому я рекомендую вам не использовать его.
This should do the trick:
String st = "123-456-7".Replace("-","");
string r = "123-456-7".Replace("-", String.Empty);
Для .Net 1.0 String.Empty не будет занимать дополнительное пространство в куче, но "" требует хранилища в куче и его адреса в стеке, что приводит к увеличению кода сборки. Следовательно, String.Empty быстрее, чем "".
Также String.Empty означает отсутствие ошибок опечаток.
Проверьте ссылку В чем разница между String.Empty и ссылкой «» .
String.Replace Method (String, String)
in your case it would be
string str = "123-456-7";
string tempstr = str.Replace("-","");
To be clear, you want to replace each hyphen (-) with blank/nothing. If you replaced it with backspace, it would erase the character before it!
That would lead to: 123-456-7 ==> 12457
Sean Bright has the right answer.