[fix]修正UdpServer在接收广播时连续启动接收的错误,在StarAgent中,此时可能收到广播包,SocketFlags是Broadcast,需要清空,否则报错“参考的对象类型不支持尝试的操作”; 无需设置SocketOptionName.PacketInformation,在ReceiveMessageFromAsync时会自动设置,并且支持ipv6;
石头 authored at 2024-10-10 00:36:00 石头 committed at 2024-10-10 00:45:43
716.00 B
X
using System.Linq;
using NewLife;
using NewLife.Expressions;
using NewLife.Log;
using Xunit;

namespace XUnitTest.Expressions
{
    public class MathTests
    {
        [Fact]
        public void Test1()
        {
            var exp = "99-(12+34*56)/78";
            XTrace.WriteLine("表达式:{0}", exp);

            var me = new MathExpression();
            var expRpn = me.ToExpression(exp);
            var str = expRpn.Join(",");
            XTrace.WriteLine("逆波兰:{0}", str);
            Assert.Equal("99,12,34,56,*,+,78,/,-", str);

            var rs = me.Complie(expRpn);
            XTrace.WriteLine("结  果:{0}", rs);
            Assert.Equal(74.43589743589743, rs);
        }
    }
}