求助,把一段java代码转换成.net代码或者js代码

public class Point {

double x;

double y;

}

/** 
 * 返回一个点是否在一个多边形区域内 
 * 
 * @param mPoints 多边形坐标点列表 
 * @param point   待判断点 
 * @return true 多边形包含这个点,false 多边形未包含这个点。 
 */  
public static boolean isPolygonContainsPoint(List<Point> mPoints, Point point) {  
    int nCross = 0;  
    for (int i = 0; i < mPoints.size(); i++) {  
        Point p1 = mPoints.get(i);  
        Point p2 = mPoints.get((i + 1) % mPoints.size());  
        // 取多边形任意一个边,做点point的水平延长线,求解与当前边的交点个数  
        // p1p2是水平线段,要么没有交点,要么有无限个交点  
        if (p1.y == p2.y)  
            continue;  
        // point 在p1p2 底部 --> 无交点  
        if (point.y < Math.min(p1.y, p2.y))  
            continue;  
        // point 在p1p2 顶部 --> 无交点  
        if (point.y >= Math.max(p1.y, p2.y))  
            continue;  
        // 求解 point点水平线与当前p1p2边的交点的 X 坐标  
        double x = (point.y - p1.y) * (p2.x - p1.x) / (p2.y - p1.y) + p1.x;  
        if (x > point.x) // 当x=point.x时,说明point在p1p2线段上  
            nCross++; // 只统计单边交点  
    }  
    // 单边交点为偶数,点在多边形之外 ---  
    return (nCross % 2 == 1);  
}  
 这段代码修改we.net,只需要对List<Point>的调用修改就可以,别的不用修改
mPoints.get(i); -> mPoints[i];
mPoints.size() -> mPoints.Count

Math.min(p1.y, p2.y)改成 (p1.y > p2.y ? p2.y : p1.y)
max的类似