Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于存储左、顶、宽和高的PostgreSql矩形数据类型_C#_.net_Postgresql_Postgresql 9.4 - Fatal编程技术网

C# 用于存储左、顶、宽和高的PostgreSql矩形数据类型

C# 用于存储左、顶、宽和高的PostgreSql矩形数据类型,c#,.net,postgresql,postgresql-9.4,C#,.net,Postgresql,Postgresql 9.4,我正在尝试将一个矩形存储在表中 目前,我有4个独立的栏目: 顶 左 宽度 高度 我注意到PostgreSql提供了一个名为的数据类型 但是,此数据类型会根据以下内容自动对值重新排序: 可以在输入时提供任何两个相反的角点,但值将根据需要重新排序,以按该顺序存储右上角和左下角 我尝试将box数据类型用于矩形,但正如前面所述,它有时混合了右上角和左下角,因此不适合存储顶部、左侧、宽度和高度 我正在编写一个C#应用程序来处理这些值。因此,如果我有一个与C#Rectangle类型等效的数据类型就好了

我正在尝试将一个矩形存储在表中

目前,我有4个独立的栏目:

  • 宽度
  • 高度
我注意到PostgreSql提供了一个名为的数据类型

但是,此数据类型会根据以下内容自动对值重新排序:

可以在输入时提供任何两个相反的角点,但值将根据需要重新排序,以按该顺序存储右上角和左下角

我尝试将box数据类型用于矩形,但正如前面所述,它有时混合了右上角和左下角,因此不适合存储顶部、左侧、宽度和高度

我正在编写一个C#应用程序来处理这些值。因此,如果我有一个与C#Rectangle类型等效的数据类型就好了


我想知道如何实现矩形/矩形数据类型。甚至可以基于四个整数(数组[4])编写自己的数据类型?

它不会混合点,而是先用右上角的值存储它们。如果你需要的话,你只需要把这些读出来,然后自己计算出另外2点


这并不复杂-至少你可以读取顶部/右侧点并获取顶部值,底部/左侧点并获取左侧点以获得你想要的顶部/左侧点。类似地,读取宽度正好是右减左

当前的解决方案有什么不适用?@Renzo它混合了基于lowerleft和upperright的值-在处理矩形内的负值时很烦人。此外,我无法将其转换为本机C#矩形类型。我编辑了这个问题。我正在编写一个C#应用程序来处理这些值。因此,如果我有一个与C#Rectangle类型等效的数据类型就好了。我对问题进行了编辑以使其更加清晰。如果坐标原点位于屏幕左下角,那么将两个最大的数字存储在一起的优化索引机制将非常有意义。您必须在C#代码中编写一个facade来进行转换,或者用一个新的C#数据类型替换您的RECT。谢谢您的知识。它为我节省了一些工作。我需要存储pdf croping的croping坐标。PDF在左下角有原点,我需要按顺序提供交叉坐标。如果“框”重新排序这些,我最好用两个“点”字段代替。我将阅读更多关于数据类型的内容。