使用Byte.Parse方法将字符串转换为字节

时间:2019-02-08 05:25:59

标签: c#

final Predicate<Movie> movieIncludesActor = movie -> movie.getActors()
        .stream()
        .anyMatch(firstNamePredicate.and(lastNamePredicate)); // check both the condition for all actors
final List<Movie> movies = allMovies.stream()
        .filter(movieIncludesActor) // movie which has such an actor
        .collect(toList());

当我调试此代码时,出现错误消息 'System.FormatException:“输入字符串格式错误。” ' 我不知道为什么会这样。

我已经尝试了convert.ToByte和byte.parse(string),但是我不知道为什么它不起作用!

我要你帮我...

1 个答案:

答案 0 :(得分:4)

您的代码有很多问题。但是,主要问题是您正在从stringintbyte Conversion-Football 。不要这样做。相反,请保持简单。

您的方法可以归结为以下内容

private byte CalculateChecksum(byte[] realbytesend)
{
   byte checksum = 0;
   unchecked // allow overflows
   {
      for (var i = 0; i < realbytesend.Length; i++)
         checksum += realbytesend[i];
   }
   return checksum;
}

foreach

...

unchecked // allow overflows
{
   foreach (var b in realbytesend)
      checksum += b;
}

...

Linq

private byte CalculateChecksum(byte[] realbytesend)
  => realbytesend.Aggregate((sum, i) => unchecked((byte)(sum + i)));

unchecked (C# Reference)

  

unchecked关键字用于禁止对以下内容的溢出检查   整型算术运算和转换。