小编Mat*_*att的帖子

确定(x,y,z)点是否在由点阵列定义的形状内

如果我有一个点数组(x,y,z)并给出一个单点(x,y,z),我用什么代码来确定该点是否位于数组定义的形状内?

我在这个上画了一个空白......

我正在使用C#

编辑

感谢回复人员,从评论中我发现了这个链接(http://alienryderflex.com/polygon/),它很好地解释了这个过程.

谢谢!

供参考:

bool pointInPolygon() {

      int      i, j=polySides-1 ;
      boolean  oddNodes=NO      ;

      for (i=0; i<polySides; i++) {
        if (polyY[i]<y && polyY[j]>=y
        ||  polyY[j]<y && polyY[i]>=y) {
          if (polyX[i]+(y-polyY[i])/(polyY[j]-polyY[i])*(polyX[j]-polyX[i])<x) {
            oddNodes=!oddNodes; }}
        j=i; }

      return oddNodes; }
Run Code Online (Sandbox Code Playgroud)

它需要一些工作,但这就是它的核心.

再次感谢

c# arrays point shape shapes

5
推荐指数
1
解决办法
4147
查看次数

检查LINQ查询的结果是否包含值

我有一个LINQ查询,它从一个名为Permissions的表中返回所有记录,其中userId是当前用户.

我想要做的是对此结果集进行检查,看看是否存在值为5的PermissionId.

这是最简单的方法吗?

c# linq asp.net

5
推荐指数
2
解决办法
2万
查看次数

(0 <0)是否返回true?

我有一个if声明

if (int1 < int2)
{}
else
{}
Run Code Online (Sandbox Code Playgroud)

如果int1和int2都为0,我希望运行else语句.

c# comparison integer

4
推荐指数
3
解决办法
3634
查看次数

如果名称拼写错误,请在列表中查找名称

我有一个名单列表,一些代码检查,以查看该人是否存在,如果有的话,有些东西..

我的问题是我想处理输入错误名称的情况.即我有一个名单

Bob
Frank
Tom
Tim
John
Run Code Online (Sandbox Code Playgroud)

如果我输入Joohn,我想让它问我是不是意味着约翰.如果我输入Tm,我会被问到是否意味着蒂姆,如果我说不,那就问我是不是意思是汤姆......等等.

以前有人做过这样的事吗?

c# string-comparison

3
推荐指数
1
解决办法
130
查看次数

初学者试图将xml读入php

我有一个xml feed位于这里,我试图读入一个PHP脚本,然后循环<packages>,并总结<downloads>.我试图使用DOMDocument做到这一点,但迄今为止失败了.

我一直试图使用的基本方法如下

<?php
$dom = new DomDocument;
$dom->loadXML('http://www.phogue.net/feed');
$packages = $dom->getElementsByTagName('package');
foreach($packages as $item)
{
    echo $item->getAttribute('uid').'<br>';
}
?>
Run Code Online (Sandbox Code Playgroud)

上面的代码只是打印出每个项目的名称,但它不起作用.我目前收到以下错误

警告:DOMDocument :: loadXML()[domdocument.loadxml]:在第3行的/home/a8744502/public_html/userbar.php中,在Entity中找不到"<",第1行:

工作代码:

<?php
$dom = new DomDocument;
$dom->load('http://www.phogue.net/feed/');
$package = $dom->getElementsByTagName('package');
$value=0;

foreach ($package as $plugin) {

    $downloads = $plugin->getElementsByTagName("downloads");
    $download = $downloads->item(0)->nodeValue;

    $authors = $plugin->getElementsByTagName("author");
    $author = $authors->item(0)->nodeValue;
    if($author == "Zaeed")
    {
        $value += $download;
    }
}
echo $value;
?>
Run Code Online (Sandbox Code Playgroud)

php xml domdocument

2
推荐指数
1
解决办法
5368
查看次数

Odbc INSERT无法正常工作

嘿,我试图让INSERT命令工作,但我不断收到以下错误.

错误:System.Data.Odbc.OdbcException:错误[42000] [MySQL] [ODBC 5.1驱动程序] [mysqld-5.0.90-community]您的SQL语法中有错误; 检查对应于你的MySQL服务器版本在System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle,RETCODE RETCODE在1号线附近使用"嵌入到tbl_SoldierStats(SoldierName)VALUES(" Zaeed")"正确的语法手册)在System.Data.Odbc.OdbcCommand.ExecuteReaderObject(的CommandBehavior行为,字符串方法,布尔needReader,对象[] methodArguments,SQL_API odbcApiMethod)在System.Data.Odbc.OdbcCommand.ExecuteReaderObject(的CommandBehavior行为,字符串方法,布尔needReader)在PRoConEvents.CAussieUnderdogsStatStreamer.StartStreaming()中的System.Data.Odbc.OdbcCommand.ExecuteNonQuery()

string insertSQL = "INSET INTO tbl_SoldierStats (SoldierName) VALUES (?)";
                    foreach (CPlayer Soldier in NewPlayers)
                    {

                        using (OdbcCommand OdbcCom = new OdbcCommand(insertSQL, OdbcCon))
                        {

                            OdbcCom.Parameters.AddWithValue("@pr", Soldier.Name);  

                            OdbcCom.ExecuteNonQuery();

                        }
                        NewPlayers.Remove(Soldier);
Run Code Online (Sandbox Code Playgroud)

它到达ExecuteNonQuery然后抛出上面的错误..我看不出它有什么问题.

c# mysql sql odbc

1
推荐指数
1
解决办法
2630
查看次数

如果Contains返回true,则提取列表中的项目

我有两个列表A和B,在我的程序开始时,它们都填充了数据库中的信息(列表A =列表B).我的程序运行,使用和修改列表A,列表B保持不变.过了一会儿,我用数据库中的新信息重新加载List B,然后对List A进行检查.

foreach (CPlayer player in ListA)
      if (ListB.Contains(player))
            -----
Run Code Online (Sandbox Code Playgroud)

首先,对象播放器是从类创建的,其主要标识符是player.Name.如果Name是相同的,但其他变量不同,.Contains是否仍会返回true?

Class CPlayer(
      public CPlayer (string name)
              _Name = name
Run Code Online (Sandbox Code Playgroud)

在----我需要使用ListB中的项目导致.Contains返回true,我该怎么做?

c# contains list

1
推荐指数
1
解决办法
1942
查看次数

代码不会退出foreach块

我有以下C#代码段,它接受一个列表,找到准备更新的对象,然后将它们推入临时列表,从主列表中删除,然后继续它的快乐方式.我的问题是循环通过我的主列表的foreach块不会退出.

 TempLog.Clear();   //Ensure TempLog is empty
 foreach (CLogger ready in PlayerLog)
 {
      if (ready.UpdateReady == true)  // Record is ready to be updated in database
      {
           TempLog.Add(ready);  // Add record to templog
           PlayerLog.Remove(ready);  // Remove from playerlog
      }
 }
              <----  Never reaches this point
 if (TempLog.Count > 0)  // Just check that templog isn't empty
 {
      new Thread(Update).Start();  // Run update code 
 }
Run Code Online (Sandbox Code Playgroud)

我已经把大量的调试放入,我可以看到PlayerLog从1开始,TempLog为0,然后进入foreach循环,选择记录UpdateReady标志打开,TempLog转到1,PlayerLog转到0,然后它只是停止..没有错误,只是停止..

谢谢您的帮助 :)

c# list

1
推荐指数
1
解决办法
282
查看次数

这两种确定NULL的方法有什么不同

我有一些T-SQL代码进行检查以确定字段是否为NULL.通常我只是在字段上进行IS NULL检查,但是在这个代码中我已经给出了,使用的方法是 WHERE ISNULL(MyField, '') <> ''

这是一种更被接受的方法吗?它比简单地说更好还是更坏WHERE MyField IS NOT NULL

干杯,为您提供帮助

sql t-sql sql-server null

0
推荐指数
1
解决办法
44
查看次数